最近写了个工具, 需要在后台静默执行, 即使关闭了当前linux命令行窗口, 也不会有影响, 我们来戏说
1. 写main.cpp, 生成可执行的二进制文件main (要注意权限, 确保可执行)
2. 写脚本run.sh (要注意权限, 确保可执行)
#!/bin/bashallfile=`ls test_*`for onefile in $allfiledo /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
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow