根据此question on SE,我运行的脚本应该终止我的终端会话,除非我使用nohup
或screen
。但是,当我
sudo python b.py &
b.py
:
from time import gmtime, strftime
import datetime
import time
import sys
import logging
logging.basicConfig(filename='test.log',level=logging.WARNING,format='%(message)s')
logging.warning('start')
while True:
s = (datetime.datetime.now().minute) *60 + datetime.datetime.now().second
if ((s)%(60*5) <= 6) : #True: #
logging.error((strftime("%Y-%m-%d %H:%M:%S", gmtime())))
time.sleep(5)
然后
exit
再次使用putty登录,test.log
仍然在更新,当我这样做时
ps -Alf | grep python,
流程显示:
4 S root 11179 1 0 80 0 - 16974 poll_s 15:44 ? 00:00:00 sudo python b.py
4 S root 11180 11179 0 80 0 - 10652 poll_s 15:44 ? 00:00:00 python b.py
虽然jobs
命令不会返回任何内容。
为什么会这样?根据其他人的经验b.py
应该在我退出终端时停止。我在微型实例上使用Ubuntu AMI。
谢谢!
答案 0 :(得分:1)
&amp;把它放在后台,所以它会继续运行直到它的pid被杀死,并且因为你用sudo运行它你也需要用sudo杀死pid。
kill -9 11179