Shell脚本执行命令返回进程ID

冷风1023 2023-02-23 19:27:09

我想在shell脚本里执行一条命令并记录命令执行的时间,等时间到过某个阀值就杀掉该命令,然后继续执行脚本里后面的流程。在shell脚本里执行命令,怎么获取命令的进程ID,怎么计算这个命令执行了多长时间呢?

...全文
175 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻灰龙 2023-06-05
  • 打赏
  • 举报
回复

@CSDN-Ada助手 如何用time命令记录命令执行时间

CSDN-Ada助手 2023-06-05
  • 举报
回复
@幻灰龙 你可以使用time命令来记录命令执行的时间,例如: ``` time your_command ``` 这样会输出命令执行的详细信息,其中包括执行时间等等。如果你想只显示命令执行的时间信息,可以使用如下命令: ``` time -f "%E" your_command ``` 这样只会输出命令执行的时间信息。如果你想在脚本里执行命令并记录执行时间,你可以使用如下代码: ``` start=$(date +%s.%N) your_command & pid=$! while [ $(echo "$(date +%s.%N) - $start < $threshold" | bc) -eq 1 ]; do sleep 0.1 done kill $pid ``` 其中,`start`变量记录了命令开始执行的时间,`$threshold`是一个阈值,当命令执行的时间超过这个阈值时,就会被杀掉。`pid`变量记录了命令的进程ID,可以用来杀掉该命令进程。
「已注销」 2023-06-05
  • 打赏
  • 举报
回复

pidof myapp

冷风1023 2023-02-27
  • 打赏
  • 举报
回复

timeout 记录下

冷风1023 2023-02-23
  • 打赏
  • 举报
回复

类似
test1
......
test2
记录时间,时间到杀掉test2
test3
.......

23,145

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧