我有一个程序,打开一个新终端并运行 while 循环,但当程序结束时,我想终止此窗口。是否可以使用命令关闭某个终端窗口,同时保持所有其他终端打开?
答案1
恩贾普
简单的方法:创建一个变量,while 循环测试该变量是否为真(或假,无论您喜欢哪种方式),然后更改此变量以结束循环。
复杂的方法:获取 Shell 的 Pid:
$ echo $$
返回例如
1441
Shell(例如 bash)在终端中运行,因此终端由 bash 的父 PID 标识。获取 ppid:
$ cat /proc/1441/status | grep PPid
返回例如
1432
如果你能 Pid 它,你就能杀死它。;)
$ kill 1432
编辑:可能有更简单的方法来获取程序进程的 Pid,例如,如果程序有一个特定的名称,你可以
$ ps aux | grep nameofmyspecificprogram
为了它。