Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较运行bash前后的进程列表_Bash_Makefile_Ps - Fatal编程技术网

比较运行bash前后的进程列表

比较运行bash前后的进程列表,bash,makefile,ps,Bash,Makefile,Ps,尝试在运行bash测试脚本之前和之后比较进程列表。有问题,因为ps返回1,我不知道如何比较之前和之后,当我有他们 理想情况下,它看起来像这样。请原谅粗糙的伪代码: run-tests: ps -x export before=$? # run tests and scripts ps -x export after=$? # compare before and after 建议和建议,不胜感激 我假设您想计算前后运行进程的数量(您的问题对此

尝试在运行bash测试脚本之前和之后比较进程列表。有问题,因为ps返回1,我不知道如何比较之前和之后,当我有他们

理想情况下,它看起来像这样。请原谅粗糙的伪代码:

run-tests: 
    ps -x
    export before=$?
    # run tests and scripts
    ps -x 
    export after=$?
    # compare before and after

建议和建议,不胜感激

我假设您想计算前后运行进程的数量(您的问题对此不是很清楚)。如果是这样,您可以将ps导入wc:

export before=`ps --no-headers | wc -l`
--编辑---

我重读了这个问题,你可能在寻找不同的实际过程。如果是这种情况,那么您可以捕获变量中的输出,并比较它们:

target:
    @ before=$$(ps --no-headers); \
      run test; \
      after=$$(ps --no-headers); \
      echo "differing processes:"; \
      comm -3 <(echo "$before") <(echo "$after")
目标:
@before=$$(ps—无标题)\
运行测试\
after=$$(ps—无标题)\
回应“不同的过程:”\

comm-3将ps的输出通过awk传输,以返回一个退出代码。当你说比较它们时,你的意思是测试它们是否相等,或者执行其他一些自动分析,或者将它们都显示在屏幕上,或者做什么?