PGIDを終了しましたが、プロセスが生まれ変わっていますが、どのように持続させることができますか?

PGIDを終了しましたが、プロセスが生まれ変わっていますが、どのように持続させることができますか?

ps aux --forest -j親プロセスと子プロセスを見るために走りました。例は次のとおりです。

root      3744  3744  3744  0.0  0.2  77084  4160 ?        Ss   09:34   0:00 /usr/sbin/cupsd -f
lp        3747  3747  3744  0.0  0.1  63156  2236 ?        S    09:34   0:00  \_ /usr/lib/cups/notifier/dbus dbus:// 
lp        3748  3748  3744  0.0  0.1  63156  2240 ?        S    09:34   0:00  \_ /usr/lib/cups/notifier/dbus dbus:// 

3番目の列はPGIDです。私の目標は、親プロセスのPGID 3744を使用して3つのPIDをすべて終了することです。私のコマンドは -

pkill -TERM -g 3744

しかし、これは効果的であり、プロセスは新しいPIDで再生成されます。どのようにこれを防ぎ、恒久的にすることができますか?

答え1

以下を使用してUbuntu 14.04を実行しています。upstart初期化プロセスとして。ここでは/etc/init/cups.conf1つのセクションがあることがわかるので、デフォルトではrespawncupdプロセスが終了すると別のセクションが始まります。

# kill -TERM -3390
# tail -1 /var/log/syslog
Aug  9 14:22:49 ubuntu kernel: [  283.270126] init: cups main process ended, respawning

次回の再起動時にcupdプロセスツリーが終了して再起動したいと言います。これを行うには、次のコマンドを使用するか、initctl stop単に使用します。stop

# stop cups
cups stop/waiting

cups-browsedカップに関連するすべてを停止したい場合は、あなたも停止したいかもしれません。

サービスが永久に無効になるわけではありません。再起動するとカッププロセスが始まります。

関連情報