微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 bash 中终止多个后台进程?

如何解决在 bash 中终止多个后台进程?

我正在尝试从 binance 转储多个符号对的交易数据,例如doge/btc、ada/btc 等

我可以背景,因此:

1 - With Xcode closed (Important) Go to finder -> Applications
2 - Right Click on Xcode and select "Get Info"
3 - On the info panel check "Open using Rosetta"
4 - Double Click in the bottom large preview of the info panel.
5 - Actions to install Rosetta will be responsive.

但是如何终止它们呢?

有没有什么聪明的方法,比如终止父进程?

解决方法

我认为正确的答案很大程度上取决于您当前系统的实施/使用方式。

在最基本的脚本级别,您可以简单地对所有 kill 进程运行 wscat;但这可能太笼统了,具体取决于细节。

稍微好一点,在 BASH 脚本中,直接在创建这些进程之后,您就可以以 $! 的形式访问它们的 PID。您可以将这些 PID 存储在一个变量或文件中,然后将它们用于 kill 每个单独的进程。

如果您的目标是比这更巧妙,您可能需要研究以下内容: SIGCHLD 信号,变成 subreaper (prctl PR_SET_CHILD_SUBREAPER),在 PID 命名空间 (unshare --pid ...) 中作为 PID 1 运行,诸如此类。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。