小编Ily*_*rin的帖子

Python产生子子进程,分离和退出

我不知道这是否是执行系统进程,并从母公司分离的正确途径,但允许家长从退出而不创建一个僵尸和/或杀死子进程.我目前正在使用子进程模块并执行此操作...

os.setsid() 
os.umask(0) 
p = subprocess.Popen(['nc', '-l', '8888'],
                     cwd=self.home,
                     stdout=subprocess.PIPE, 
                     stderr=subprocess.STDOUT)
Run Code Online (Sandbox Code Playgroud)

os.setsid()更改了进程组,我认为这是让进程在父进程退出时继续运行的原因,因为它不再属于同一进程组.

这是正确的,这也是一种可靠的执行方式吗?

基本上,我有一个远程控制实用程序,通过套接字进行通信,允许远程启动进程,但我必须确保如果远程控制器死亡,它启动的进程继续运行不受影响.

我正在阅读关于双叉并且不确定这是否必要和/或subprocess.POpen close_fds以某种方式处理这个问题,所需要的只是更改进程组?

谢谢.

伊利亚

python unix linux subprocess

28
推荐指数
2
解决办法
3万
查看次数

clojure lein(读行)stdin困境

所以定期的clojure repl工作正常,(read-line)收集输入,然后回应它.lein repl虽然使用,但从不回应任何输入字符,也不允许我从任何stdin读取命令返回.

我确定它与重新绑定有关,但是想知道是否有解决方法/修复?

谢谢.

clojure leiningen

7
推荐指数
1
解决办法
1893
查看次数

标签 统计

clojure ×1

leiningen ×1

linux ×1

python ×1

subprocess ×1

unix ×1