为什么即使在我退出putty之后我的python脚本仍然在EC2的后台运行?

时间:2014-04-26 16:11:31

标签: python linux amazon-web-services amazon-ec2 ps

根据此question on SE,我运行的脚本应该终止我的终端会话,除非我使用nohupscreen。但是,当我

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。

谢谢!

1 个答案:

答案 0 :(得分:1)

&amp;把它放在后台,所以它会继续运行直到它的pid被杀死,并且因为你用sudo运行它你也需要用sudo杀死pid。

kill -9 11179