個人的、Linuxを触ってて面白かったとか、納得の行ったことをここにメモっておきたい。
disown -hについて
sshでつないで、bashでプログラムを実行するとき、そのプログラムはbashの子プロセスとして実行されるのよね。 そもそもbashはsshdの子プロセスとして実行されるのだけれども。 でね、bashの子プロセスとして実行されるわけだから、bashを閉じるとその子プロセスであるプログラムも死ぬんだよね。
でも、bashを抜けても死なないでほしいプログラムってあるわけじゃないですか。それを実現する方法が プロセスを ctrl + zで一旦停止、bgでバックグラウンド実行。そして、disown -h なわけですね。 で、そうするとそのプロセスの親は誰になるか?って不思議に思いますよね。
1058 ? Ss 0:00 1 1080 13483 1836 0.0 /lib/systemd/systemd --user
1059 ? S 0:00 0 0 35244 1184 0.0 \_ (sd-pam)
2345 ? S 0:00 18 0 7408 2860 0.0 sudo hugo server -p 443 --bind=0.0.0.0 --baseURL=https://ingenboy.com/alpha/
2346 ? Sl 0:18 38 0 2141188 1696712 43.7 \_ hugo server -p 443 --bind=0.0.0.0 --baseURL=https://ingenboy.com/alpha/
そうなんです。systemdなるんですねー。これが結構面白いところ。覚えておいていいです。 ちなみに、親子関係を含めて全プロセスを表示するのが、
ps avxf
っていうコマンドです!