1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #首先远程 SSH 登陆一台 Linux 服务器 $ ssh zhang@9.115.241.18 #然后打开一个后台进程 (27871) 直接进入休眠 $ nohup sleep 1000 & [1] 10590 #利用 ps j 命令来查看一下 27871 进程的作业(job)相关信息 $ ps j 10590 PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND 10417 10590 10590 10417 pts/20 10655 S 1000 0:00 sleep 1000 #一切正常,现在断开连接,关闭会话 $ exit #最后再在远程运行 ps -j 命令来检查 10590 进程当前的状态 $ ssh zhang@9.115.241.18 ‘ps -j’ PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND 1 10590 10590 10417 ? -1 S 1000 0:00 sleep 1000 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import signal import time from multiprocessing import Process from os import getpid def child_process(): # child process # 忽略 child process 的 SIGHUP 信号 signal.signal(signal.SIGHUP, signal.SIG_IGN) print("child process's pid: %d" % getpid()) while (1): print("child's still alive.") time.sleep(1) def main(): p = Process(target=child_process) """ 这里就不能再设置 daemon 属性为 True 了, 因为如果 daemon 属性为 True,则 Process 进程结束时会自动 terminate 所有的子进程 这样就没 SIGHUP 什么事了 """ p.start() # parent process print("Parent process ends here.") print("Will child process live forever?") if __name__ == '__main__': main() |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |