确定程序用来启动另一个的命令行参数?

时间:2018-02-22 03:05:31

标签: linux bash process command-line-arguments

动机:当我运行grub-mkrescue时,它会在内部启动xorriso来编写一个iso文件。我想看看传递了什么命令行参数xorriso。我知道我可以检查grub-mkrescue的来源,但我现在对通用解决方案感兴趣。我尝试使用strace,但输出没有说明。

strace grub-mkrescue -o foo.iso iso/

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:1)

进程将在运行execve之前进行分叉,因此它不会显示在父级的strace中。

使用strace -f跟随孩子。

答案 1 :(得分:0)

您可以用更详细的xorriso替换xorriso:

which xorisso
cd $(dirname $(which ps))
mv xorisso xorisso.org
test -f xorisso | echo "mv failed, stop here" 

cat <<'@' > xorisso
echo "$0 $@" > /tmp/xorisso_call.tmp
"$0.org" "$@"
@
chmod +x xorisso