博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何让你的linux程序在后台静默执行?
阅读量:4142 次
发布时间:2019-05-25

本文共 602 字,大约阅读时间需要 2 分钟。

       最近写了个工具, 需要在后台静默执行, 即使关闭了当前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

你可能感兴趣的文章
GlassFish 部署及应用入门
查看>>
iWatch报错: Authorization request cancled
查看>>
iWatch报错: Authorizationsession time out
查看>>
X-code7 beta error: warning: Is a directory
查看>>
Error: An App ID with identifier "*****" is not avaliable. Please enter a different string.
查看>>
iTunes Connect 上传APP报错: Communication error. please use diagnostic mode to check connectivity.
查看>>
3.5 YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
查看>>
iOS菜鸟学习--如何避免两个按钮同时响应
查看>>
How to access the keys in dictionary in object-c
查看>>
iOS菜鸟学习—— NSSortDescriptor的使用
查看>>
hdu 3787 hdoj 3787
查看>>
hdu 3790 hdoj 3790
查看>>
hdu 3789 hdoj 3789
查看>>
hdu 3788 hdoj 3788
查看>>
zju 1003 zoj 1003
查看>>
zju 1004 zoj 1004
查看>>
zju 1005 zoj 1005
查看>>
zju 1006 zoj 1006
查看>>
【虚拟机】虚拟化架构与系统部署(Windows系统安装)
查看>>
字节跳动安卓开发实习生面试分享
查看>>