【问题标题】:Why is my python script still running in the backgroud on EC2 even after I quit putty?为什么我的 python 脚本在我退出 putty 后仍然在 EC2 的后台运行?
【发布时间】:2015-03-16 21:21:58
【问题描述】:

根据这个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。

谢谢!

【问题讨论】:

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


【解决方案1】:

& 将其置于后台,因此它将继续运行直到它的 pid 被杀死,并且由于您使用 sudo 运行它,因此您还需要使用 sudo 杀死 pid。

杀死 -9 11179

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多