相关疑难解决方法(0)

父进程死亡时的新父进程

在 UNIX 中,当父进程消失时,我认为所有子进程都将 init 重置为其父进程。这不是一直正确吗?有任何例外吗?

process exit init

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

退出外壳后后台作业会发生什么?

从我的理解,工作是管道从某一个shell启动的,你可以管理这些作业(fgbg,按Ctrl-Z)从该壳体内。一个作业可以由多个进程/命令组成。

我的问题是当原始的包含 shell 退出时这些作业会发生什么?假设未设置 huponexit 以便后台进程在 shell 退出后继续运行。

假设我已经做了:

$ run.sh | grep 'abc' &
[1] job_id
Run Code Online (Sandbox Code Playgroud)

然后我退出这个shell。我将进入一个新的 shell 并运行jobs,但显然什么也看不到。但是我可以执行ps aux | grep run.sh并查看此进程的运行情况,我也会执行ps aux | grep grep并查看grep 'abc'运行的进程。

有没有办法只获取完整管道的作业 ID,以便我可以一次性杀死它,或者我是否必须在退出原始 shell 后与另一个 shell 分开杀死所有进程?(我尝试过后者并且它有效,但跟踪所有过程似乎很麻烦。)

shell process kill jobs

10
推荐指数
2
解决办法
1万
查看次数

Linux 中如何杀死级联?

假设我有进程 A 产生进程 B,产生进程 C。在什么情况下杀死 A 会杀死整个链(或我猜是树),什么时候不会?我有时发现它确实如此,有时 B 以 ppid 1 结束而 C 未受影响。

这种行为是否因特定的 Linux 内核版本而异?

process kill

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

标签 统计

process ×3

kill ×2

exit ×1

init ×1

jobs ×1

shell ×1