Questions tagged «disown»



4
被取消并失去终端的流程的输出会发生什么?
如果我关闭启动了某些过程的虚拟终端,输出是否直接进入/dev/null,或者会以某种方式污染内存? 在那之后的任何时候,我都可以获取输出以继续读取它吗? [EDIT]:那么,放弃进程的那一刻是否有效地结束了我控制其输出的能力? 我还注意到,如果我放弃一个已停止的进程,起初一切似乎都很正常:它既不终止也不在作业中显示。但是,如果我注销(并且我不是要关闭终端,su例如,从退出),则该过程将终止。一样,后台运行的独立进程可以保持运行。

2
`disown -h`和`nohup`是否有效地相同?
disown 导致shell在终止时不将SIGHUP发送到其未完成的工作,并且 从Shell的作业控件中删除不相关的作业。 第一个是第二个的结果吗?换句话说,如果以某种方式从外壳启动的进程从外壳的作业控件中删除了,那么在外壳终止时外壳将不会将SIGHUP发送给该进程吗? disown -h 仍然将进程保持在Shell的作业控制之下。这是否意味着disown -h使进程仍然接收从外壳发送的SIGHUP,但是将进程设置为SIGHUP的动作是“忽略”?听起来类似于nohup。 $ sleep 123 & disown -h [1] 26103 $ jobs [1]+ Running sleep 123 & $ fg 1 sleep 123 $ ^Z [1]+ Stopped sleep 125 $ bg 1 [1]+ sleep 123 & $ exit $ ps aux | grep sleep t …
18 bash  nohup  disown 

4
如何从bash脚本中分离进程?
我正在尝试从bash脚本中分离一个进程,以便在退出该脚本时SIGINT不会转发到该进程。 我disown直接在终端中使用了该命令,但是在bash中,disown并没有阻止SIGINT的转发。该脚本的目的是通过一次调用先启动openocd,然后启动gdb。由于脚本永不退出(正在运行gdb),因此SIGINT仍从gdb转发到openocd,这是一个问题,因为SIGINT用作gdb中的暂停命令。 在终端中,它看起来像这样: $ openocd & # run openocd demonized $ disown $! # disown last pid $ gdb # invoke GDB 当按此顺序在终端上调用时,SIGINT不会从gdb传递到openocd。但是,如果在bash脚本中进行了相同的调用,则会传递SIGINT。 任何帮助将不胜感激。 ps这个问题是在OS X中出现的,但是我正在尝试使用对所有Unix工具都可移植的工具。
18 bash  disown 

2
更改流程的父流程?
是否可以更改流程的父流程?如果是,怎么办? 例如, 如何screen管理将会话screen及其内部运行的进程附加到不同的Shell进程?上级流程有变化吗? 我似乎听说过其他正在运行程序的Shell进程更改方式,但我不记得了。程序的父进程也有变化吗? 我认为disown某个流程会更改该流程的父流程,只是因为名称disown暗示了这一点。但是我发现这是不正确的。 Emacs客户端可以在另一个终端选项卡上连接到emacs服务器。上级流程有变化吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.