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

如何获得在bash脚本中执行的命令的进程ID?

我有一个脚本,我想同时运行2个程序,一个是ac程序,另一个cpulimit,我想先用“&”在后台启动C程序,然后得到C程序的PID,把它交给cpulimit,它也会在后台运行“&”。

我试过下面这个,它只是开始第一个程序,并从不开始cpulimit。

另外我运行这个作为一个启动脚本作为root用在arch linux中的systemd。

#!/bin/bash /myprogram & PID=$! cpulimit -z -p $PID -l 75 & exit 0

批量重命名文件

如何在Linux脚本中用两位数表示hex数(bash)

删除文本文件中的特定行

Bash语法错误:操作数预期

将bashparameter passing给python脚本

bash + Linux +如何忽略字符“!”

sed将空格插入到特定行

从UTF-8的不同文件提取唯一的字符

在已经传入的命令中引用标准输出

回声从crontab o / p

我想我现在已经解决了这个问题,按照这里: 链接我需要包装命令这样(命令)创建一个子shell。

#!/bin/bash (mygprgram &) mypid=$! (cpulimit -z -p $mypid -l 75 &) exit 0

我刚刚发现这个,同时使用谷歌搜索,并希望添加一些东西。

虽然你的解决方案似乎正在工作(请参阅有关subhell的评论),在这种情况下,你根本不需要得到PID。 就像这样运行命令:

cpulimit -z -l 75 myprogram &

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

相关推荐