如何将用于调用nohup的命令写入其日志文件?

时间:2016-11-24 17:57:10

标签: bash shell command-line nohup

我正在尝试使用nohup运行命令,例如

nohup python -u myscript.py --lots --of --options 1000 &> logfile.out

有没有办法将命令写为logfile.out的第一行?例如,

python -u myscript.py --lots --of --options 1000
Script running...
Script complete!

2 个答案:

答案 0 :(得分:1)

您可以创建包装函数nohup

nohup () { echo "$@"; command nohup "$@" ;}

现在,如果你这样做:

nohup python -u myscript.py --lots --of --options 1000 &> logfile.out

您将在logfile.out上与其他常规STDOUT / STDERR一起保存所需的命令行。

答案 1 :(得分:0)

您可以使用以下功能:

runbg() {
   out="$1"
   shift
   printf "%s\nScript Runinng...\n" "$*" > "$out"
   nohup "$@" &>> "$out" &
}

然后将其运行为:

runbg logfile.out python -u myscript.py --lots --of --options 1000