用单个命令杀死子父进程

用单个命令杀死子父进程

我使用 Fedora 14 连接到互联网。sudo wvdial终端需要保持工作。我的要求是yum update在单独的终端中运行,然后终止 wvdial 及其父终端,并init 0使用 执行单个命令su -c

有没有办法用sudo wvdial一个命令来杀死子进程(这里,)和父进程(这里,运行 wvdial 的终端),让我可以执行以下操作?

su -c 'yum update; kill-child-parent-processes; init 0'

这里kill-child-parent-processes表示我可以杀死的方法sudo wvdial及其父终端。

谢谢。

答案1

您需要找出sid终端中运行的 shell 的会话 ID ( )。

jinx:802 Z$ ps -p$$ -o sid
 SESS
17424

(迂腐警告: 通常这与 相同$$。如果不同,那么这可能不起作用。)然后您可以使用它来终止终端中运行的会话。您不能以这种方式直接终止终端(它在窗口管理器的会话中),但如果终端设置为自动关闭(通常是这样),那么它会自行消失。

jinx:803 Z$ pkill -s 17424

相关内容