linux - 如何杀死已使用源执行的脚本?
问题描述
问题是我找不到使用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 是可搜索的,但使用source,grep不会得到任何结果。
我正在使用Ubuntu 18.04.2 LTS机器
解决方案
如果您不想终止采购bash
并且对仅在命令(例如sleep
)完成后停止脚本感到满意,您可以kill -INT
处理bash
。
推荐阅读
- java - 当我只想为特定单元格着色时,JTable 正在为每个单元格着色
- c++ - 1080x1920 分辨率的 SDL 原点轴错误
- java - 如何使用 org.json 使用数组?
- ios - 在 tableview rx 数据源中拉动以刷新
- html - Flask Boostrap 背景图像选项
- jquery - 获取数组中包含的每个输入值
- python - 过滤熊猫数据框中多列中的逗号分隔值
- c++ - 如何将 .CPP 文件转换为 .bin ?
- java - 无法恢复滚动位置
- vue.js - 如何从 Vuetify 插件中删除 stylush 并在 Vue Js 项目中添加 Vuetify SCSS