ps在Yocto中调用丢失的进程

时间:2015-12-09 16:48:52

标签: process ps yocto

我正在尝试报告Yocto(Poky)中正在运行的进程。 OutputSteam在这里不起作用,但标准ps aux调用返回了ps在Debian中的大部分内容。但它不会报告我的aux脚本进程。有没有一个论点可以在这里工作,或者我可以尝试另一个电话?提前谢谢。

2 个答案:

答案 0 :(得分:2)

您可能正在使用busybox。 Busybox包含自己的ps版本,可能不支持您正在使用的标志。一个简单的ls -l /bin/ps应该可以指示它是否符号链接到busybox。

我的建议是在您的食谱中包含procps包(其中包含您更熟悉的ps)。

答案 1 :(得分:2)

Busybox ps应该会显示您的所有流程。

我已经创建了这个测试脚本pstest.sh

#!/bin/sh

while true; do
        sleep 10;
done

我一直在运行,包括Debian盒子,基于qemux86的core-image-minimal,以及使用OpenEmbedded / Yocto构建的自定义嵌入式设备。 (即最后一个没有运行Yocto内核)。在所有这些设备上,以下情况都适用:

 # ./pstest.sh &
 # ps 
  PID USER       VSZ STAT COMMAND
    1 root      4196 S    {systemd} /sbin/init
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    5 root         0 SW<  [kworker/0:0H]
.....
  633 root      2452 S    {pstest.sh} /bin/sh ./pstest.sh
  634 root      2732 S    sleep 10
  638 root      3044 R    ps

如您所见,我正在查看脚本进程以及sleep命令。 (注意:上面的Debian ps已替换为busybox ps)。 如果您仍然只能看到sleep,可以尝试以下操作:

# cat /proc/`pidof sleep`/status | grep PPid
PPid:   633

通过运行该行,您应该能够看到sleep命令的父PID;检查哪个进程对应。

相关问题