当前位置:首页 > 芯闻号 > 充电吧
[导读]场景分析 这两天遇到一个让程序后台运行的问题,因为基础知识薄弱,出现问题后发现自己没有找到问题所存在的根本原因,通过终端adb连接开发板,然后运行c程序连接服务器,然后让开发板休眠,断开usb后使其

场景分析

这两天遇到一个让程序后台运行的问题,因为基础知识薄弱,出现问题后发现自己没有找到问题所存在的根本原因,通过终端adb连接开发板,然后运行c程序连接服务器,然后让开发板休眠,断开usb后使其进入休眠模式.但是发现一拔出来usb,服务器就会提示掉线,我理解成了因为休眠导致的断开服务器.然后经过师傅的解答以及自己做了个实验,发现问题并不是休眠的问题,而是因为终端关闭,导致程序结束,然后导致的与服务器连接断开.发现问题以后就开始网上查找相应的解决方案.

还有一种应用场景是ssh连接到服务器以后,需要执行长时间的任务,也可以用这种方法.

解决方法

运行命令后面加&

./yuanban &
然后可以通过jobs查看所有的后台运行的任务
kill %n
可以杀死某个任务.注:n是通过jobs查看的编号,不是PID号.
fg %n
后台的程序继续返回到前台(当前的终端)来.

笔记

ctrl+z 是暂停任务,并没有结束,仍然在进程中,只是维持挂起的一个状态,通过fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.
ctrl+c 是终止任务,强制中断结束.

参考

https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/
https://www.cnblogs.com/itech/archive/2012/04/19/2457499.html

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭