免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2243 | 回复: 6
打印 上一主题 下一主题

怎么判断一个程序是在运行还是在等待输入 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-22 19:45 |只看该作者 |倒序浏览
5可用积分
有时候调用 awk 时 命令写错
没有输入源文件名,导致程序在那里一直等着屏幕
但我还一直以为程序在运行
等到发现时间不对劲时再检查才发现原来是命令写错了

像awk这种比较常用的工具还好,容易从历史记录是否是命令错误

要是不常见的程序还真难判断程序是在运行还是在等待输入

各位有什么好办法吗

最佳答案

查看完整内容

AIX下可以用truss命令,其它平台也有名字不同但功能相近的命令。truss有许多选项,具体看man。举个简单例子:truss -p PID 。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2009-11-22 19:45 |只看该作者
AIX下可以用truss命令,其它平台也有名字不同但功能相近的命令。

truss有许多选项,具体看man。举个简单例子:truss -p PID 。

论坛徽章:
0
3 [报告]
发表于 2009-11-22 21:08 |只看该作者
top的S、R判断运行状态,但也不严格
等待输入状态好像更难获知吧
我也想知道,帮顶

论坛徽章:
0
4 [报告]
发表于 2009-11-23 08:43 |只看该作者
说的是strace吧
看程序 还是用
strace /程序路径

同样具体可以看man

用来看system call的
open
close
read
write
之类的
这种system call
通过system call来判断状态就可以了

论坛徽章:
0
5 [报告]
发表于 2009-11-24 22:47 |只看该作者
谢谢 明天去试试

论坛徽章:
0
6 [报告]
发表于 2009-11-30 13:14 |只看该作者
不错 用truss 能发现等待屏幕输入的进程在read那里sleep了

论坛徽章:
0
7 [报告]
发表于 2009-11-30 19:48 |只看该作者
标记,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP