linux循环执行命令脚本如何让你的linux程序在后台静默执⾏?
最近写了个⼯具, 需要在后台静默执⾏, 即使关闭了当前linux命令⾏窗⼝, 也不会有影响, 我们来戏说
1. 写main.cpp, ⽣成可执⾏的⼆进制⽂件main (要注意权限, 确保可执⾏)
2. 写脚本run.sh (要注意权限, 确保可执⾏)
#!/bin/bash
allfile=`ls test_*`
for onefile in $allfile
do
/usr/local/services/main /usr/local/services/$onefile &
done
3. 执⾏脚本:
/usr/local/services/run.sh &
然后, 即使你关闭当前窗⼝, 后台的程序也不会停, 你可以爽爽地去睡觉了。
这⾥我们要注意以下⼏点:
a. 两个&都不能丢掉, 否则就不能在后台静默执⾏
b. 脚本中的那个循环, 会循环开启多个进程, 这些进程会并发执⾏, 并不是说要等前⼀个进程执⾏完后, 才执⾏下⼀个进程。 你可以在for循环中加log试⼀下, 这些log是⽴即循环输出的。 这样就很好了, 多进程在后台并发地静默执⾏, 太爽了。
c. 如果要杀死所有的后台静默执⾏的进程, 执⾏killall main命令就可以了, 爽。
d. test_*⽂件是怎么来的呢? 请参考我介绍过的linux split命令
有兴趣的朋友, 也可以看到我之前介绍过的nohup
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论