Согласно этому вопросу о 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
и снова войдите в систему, используя шпатлевку, 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 на микро-экземпляре.
Спасибо!