首页 > 编程知识 正文

cmd执行bat文件命令,bat文件执行完不关闭

时间:2023-05-05 02:15:37 阅读:134148 作者:2227

在Linux上后台运行的程序变为stopped时

写了服务器程序camSvr。 在前台运行也没有问题。 使用命令./camSvr在后台运行,程序运行一段时间后,终端打印。 [1] stopped./camSvr

通过ps -ef命令查看时,程序仍在,但没有响应。 使用top命令验证状态是否为t,即stopped。

寻找原因的话,就是程序员中有从终端读取的代码。 对于《Unix 环境高级编程》部分9.8中的作业控制,“如果后台程序尝试读取终端,这不是错误,但终端驱动程序会检测到这一点,并向后台作业发送特定的信号SIGTTIN。 这个信号会停止后台程序,并通知用户”。

我的代码有两个脚本,一个脚本通过top命令获取cpu使用率,另一个脚本通过free命令获取内存使用率。 这两个脚本是必需的,不能删除。

最后使用重定向解决。/camSvr /dev/null

此外,在top调用期间,还会经常打印top :故障tty get错误。

寻找原因的话,在其他程序或脚本中以非对话模式调用top时就会出现。

解决方案是添加-b选项。 也就是说top -b。

- b : batch模式操作

start stop in’batch mode’,whichcouldbeusefulforsendingoutputfromtoptootherprogramsortoafile。

In this mode,topwillnotacceptinputandrunsuntiltheiterationslimityou’vesetwiththe’- n’command-lineoptionoruntilkillled。

参考: http://blog.csdn.net/a 2796749/article/details/53192940

33558 blog.chinaunix.net/uid-9554532-id-2000668.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。