首页 / LINUX / 如何唤醒linux中的非活动进程?
如何唤醒linux中的非活动进程?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何唤醒linux中的非活动进程?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2595字,纯文字阅读大概需要4分钟。
内容图文
![如何唤醒linux中的非活动进程?](/upload/InfoBanner/zyjiaocheng/957/dee8b8d44ade499b9c3a4af23612d592.jpg)
我通过ssh连接到linux机器.在那里,我使用屏幕来运行多个进程,这些进程将在我退出会话后继续运行.但是,过了一段时间后,进程停止产生输出(到stdout),即使它们占用内存.我想知道如何重新激活它们.以下是我的用户名下的进程列表(顶部-u MY_USERNAME):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1268 abcdef 20 0 100m 2044 1012 S 0.0 0.0 0:00.03 sshd
1269 abcdef 20 0 105m 1940 1456 S 0.0 0.0 0:00.06 bash
12375 abcdef 20 0 115m 1452 808 S 0.0 0.0 0:00.02 screen # contains python procs
12615 abcdef 20 0 406m 58m 2140 S 0.0 0.0 0:02.23 python # parent process
12618 abcdef 20 0 5170m 4.7g 1176 S 0.0 1.9 546:19.26 python # child process
12619 abcdef 20 0 5164m 4.7g 1172 S 0.0 1.9 539:33.64 python # child process
12620 abcdef 20 0 5185m 4.7g 1172 S 0.0 1.9 547:46.92 python # child process
12621 abcdef 20 0 5171m 4.7g 1168 S 0.0 1.9 540:45.53 python # child process
12622 abcdef 20 0 5179m 4.7g 1172 S 0.0 1.9 546:50.28 python # child process
12623 abcdef 20 0 5171m 4.7g 1168 S 0.0 1.9 549:20.39 python # child process
12624 abcdef 20 0 5178m 4.7g 1172 S 0.0 1.9 543:33.55 python # child process
12625 abcdef 20 0 5177m 4.7g 1172 S 0.0 1.9 545:59.51 python # child process
如果相关:进程不需要用户输入.我没有sudo权限.
您可以在S列下看到,所有进程都指定为S.如何将它们更改为R?这会让他们恢复输出到stdout吗?
注意:我检查了问题here,但这是指手动暂停和唤醒进程.我不知道为什么我的进程首先进入睡眠状态,我想将它们唤醒.
编辑:在检查问题here后,我运行命令strace -p 12622进行子进程并获得:futex(0x984271b0,FUTEX_WAIT_PRIVATE,0,NULL.Wikipedia表示它是某种锁.我不确定这是否有意义.
解决方法:
如果你不是一个内核设计师,“Sleep”对于这个过程状态来说并不是一个正确的比喻. “等待”将是一个更好的描述.在等待被唤醒的直观意义上的“睡眠”被称为“已停止”,显示为Z.
该过程不是等待用户唤醒,而是等待某些特定条件得到满足.例如,它正在从文件中读取数据并等待从磁盘加载数据,或者它正在服务于网络连接并等待传入??的数据包,或者它暂停了一段时间并等待超时到期等等“唤醒”的唯一方法是安排满足条件.
正如您所发现的那样,调用strace -p $PID(在Linux上,或其他unix变体上的等价物)可以从低级视图告诉您进程正在做什么,特别是它正在等待什么.但是,无法保证这会为您提供有用的数据. futex是一种锁,通常,知道谁应该释放锁的唯一方法是准确理解程序正在做什么以及底层库如何使用该核锁定功能.
程序可能已停止生成输出,因为它们已停止接收输入.其中一个程序可能正在运行而其他程序正在等待它.程序中可能存在错误,并且进程陷入僵局.无论是什么,它都是应用程序问题,而不是系统问题.没有通用的方法使程序“唤醒”:程序正常运行.它可能没有做你想要的,但它正在做它写的事情.
内容总结
以上是互联网集市为您收集整理的如何唤醒linux中的非活动进程?全部内容,希望文章能够帮你解决如何唤醒linux中的非活动进程?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。