Python:运行一个变成后台进程的脚本立即死掉

时间:2016-04-06 17:34:14

标签: python process background

我正在处理python中的一段代码,我使用parallel-ssh在Raspberry Pi上运行脚本。脚本运行大约1,然后即使脚本中有nohup也会消失。

从服务器运行脚本的代码:

return subprocess.call(["parallel-ssh", "-h", hosts_path, "-o", "pssh-out", "-e", "pssh-err", "-i" if inline else "", cmd])

在Raspberry Pi上,脚本如下所示:

log_path=$1

tty_path=`ls /dev/serial/by-id/usb-MBED_MBED_CMSIS-DAP_*`
nohup /home/pi/scripts/ble/contiki-serialdump -b9600 $tty_path | /home/pi/scrip$


sleep 1
ps | grep "$! "

#exit $?

为什么它不能继续在后台运行?

2 个答案:

答案 0 :(得分:0)

您的脚本在退出之前不会等待。您需要一个具有作业控制的shell(例如Bash),并使用wait内置命令。阅读bash手册页以了解wait

答案 1 :(得分:0)

问题显然是需要关闭和打开USB集线器才能使串行转储正常启动