我想使用exec命令在当前终端会话的后台运行python脚本。其他帖子表明
exec python myscript.py &
应该在后台运行脚本。但是程序的输出仍然在我的命令行上。我误解了exec命令吗?我只是想忽略脚本的输出,或者如果不可能,则将其发送到文件。
我无法使用nohup,因为我需要将SIGHUP信号发送到我的脚本。除了nohup,请随意提出其他解决方案。
答案 0 :(得分:2)
在后台运行只意味着您可以与当前shell进行交互,但后台进程的stdout(和stderr)仍然连接到终端。如果您不想要它,请将其重定向到其他地方:
exec python myscript.py &>/dev/null &
另外,为什么需要exec
?
答案 1 :(得分:1)
如果要在后台运行命令,可以使用nohup exec python myscript.py &
文件的输出存储在nohup.out文件中