首页 > 解决方案 > 如何杀死已使用源执行的脚本?

问题描述

问题是我找不到使用source执行的脚本的进程 ID 。当它们使用bash启动时,我可以这样做ps -ef

如果我使用bash运行脚本,我可以使用ps -ef | grep "test1.sh" | grep -v "grep". 但是,如果我使用source运行脚本,我将无法搜索它,因此无法找到process ID我已经从这个链接阅读了 bash 和 source 命令之间的区别。

这是我的测试程序:我有 2 个终端。在其中之一中,我正在使用ps -ef. 在另一个中,我运行一个脚本,它每隔一秒打印一次“Hello”(一个无限循环,睡眠时间为 1 秒)。使用bash, PID 是可搜索的,但使用sourcegrep不会得到任何结果。

我正在使用Ubuntu 18.04.2 LTS机器

标签: linuxbashshell

解决方案


如果您不想终止采购bash并且对仅在命令(例如sleep)完成后停止脚本感到满意,您可以kill -INT处理bash


推荐阅读