Linux命令 -- 获取 进程信息:name 、stat 、PID

本文介绍如何通过shell命令查询Linux系统中特定进程的状态信息,包括使用两种不同方法获取kthreadd进程的详细状态,以及展示如何批量处理多个进程的状态查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以 kthreadd 进程为例

这里写图片描述

1.命令

⑴ 第一种方式

换行输出:
echo  `ps | grep -v grep | grep kthreadd | sed 's/\/bin\/sh//' | awk '{print $4, $1}' | sed 's/\(^.*\/\)\(.*\)/\2/' | grep kthreadd   &&  cat /proc/$(pgrep kthreadd |  sed -n '1p;1q')/stat |  awk '{print $3}' `

这里写图片描述

不换行输出
echo -n `ps | grep -v grep | grep kthreadd | sed 's/\/bin\/sh//' | awk '{print $4, $1}' | sed 's/\(^.*\/\)\(.*\)/\2/' | grep kthreadd   &&  cat /proc/$(pgrep kthreadd |  sed -n '1p;1q')/stat |  awk '{print $3}' `

这里写图片描述

⑵ 第二种方式

换行输出:
echo -n `ps | grep -v grep | grep kthreadd | sed 's/\/bin\/sh//' | awk '{print $4, $1}' | sed 's/\(^.*\/\)\(.*\)/\2/' | grep kthreadd   &&  cat /proc/$(ps | grep -v grep | grep init | awk '{print $1}')/stat |  awk '{print $3}'  `
不换行输出
echo -n `ps | grep -v grep | grep kthreadd | sed 's/\/bin\/sh//' | awk '{print $4, $1}' | sed 's/\(^.*\/\)\(.*\)/\2/' | grep kthreadd   &&  cat /proc/$(ps | grep -v grep | grep init | awk '{print $1}')/stat |  awk '{print $3}'  `

2.多进程处理

这里写图片描述

这里写图片描述

命令行:

for i in ` pgrep NV_CAM_NETVUE3_098 ` ;do cat /proc/$i/stat | awk '{print $2, $1 , $3}' |  sed 's/[()]//g'; done 

这里写图片描述

echo -e `for i in $(pgrep NV_CAM_NETVUE3_098) ;do cat /proc/$i/stat | awk '{print $2, $1 , $3}' |  sed 's/[()]//g'; done`

这里写图片描述

3.其他命令

注意 结合 xargs 命令使用。

这里写图片描述

[2025-07-02T06:40:45.476Z] #### failed to build some targets (04:59 (mm:ss)) #### [2025-07-02T06:40:45.476Z] [2025-07-02T06:40:45.476Z] >> [Wed Jul 2 06:21:56 UTC 2025][build-odm-pipeline.sh]: FAILED: make vext_images -j240 [2025-07-02T06:40:45.477Z] command "bash /home/work/mnt/miui_codes2/build_home_rom-vext-merged/miui/pangu/build_tools/build-odm-pipeline.sh" returned 1: None [2025-07-02T06:40:45.477Z] Disabled remote cache [2025-07-02T06:40:45.477Z] + echo 'FATAL: failed to build odm by mibuild.' [2025-07-02T06:40:45.477Z] FATAL: failed to build odm by mibuild. [2025-07-02T06:40:45.477Z] + exit 1 [2025-07-02T06:40:45.477Z] + V=4 [2025-07-02T06:40:45.477Z] + info 'waiting for mtk_build_vendor_target_files:80760' [2025-07-02T06:40:45.477Z] + local V=4 [2025-07-02T06:40:45.477Z] + [[ 4 < 4 ]] [2025-07-02T06:40:45.477Z] + for message in "$@" [2025-07-02T06:40:45.477Z] + echo 'waiting for mtk_build_vendor_target_files:80760' [2025-07-02T06:40:45.477Z] waiting for mtk_build_vendor_target_files:80760 [2025-07-02T06:40:45.477Z] + xb::util::wait_pids 'build odm_module' 80760 [2025-07-02T06:40:45.477Z] + local 'messages=build odm_module' [2025-07-02T06:40:45.477Z] + pids=("${@:2}") [2025-07-02T06:40:45.477Z] + local pids [2025-07-02T06:40:45.477Z] ++ xb::util::get_pgrp 1748351 [2025-07-02T06:40:45.477Z] ++ local pid=1748351 [2025-07-02T06:40:45.477Z] ++ local pgrp= [2025-07-02T06:40:45.477Z] ++ [[ -z 1748351 ]] [2025-07-02T06:40:45.477Z] +++ ps -p 1748351 -o pgrp= [2025-07-02T06:40:45.477Z] +++ sed 's/^\s*//g' [2025-07-02T06:40:45.477Z] ++ pgrp=257 [2025-07-02T06:40:45.477Z] ++ echo 257 [2025-07-02T06:40:45.477Z] + local PGRP=257 [2025-07-02T06:40:45.477Z] + local ppid= [2025-07-02T06:40:45.477Z] + local pgrp= [2025-07-02T06:40:45.477Z] + [[ -z 80760 ]] [2025-07-02T06:40:45.477Z] + echo 'xb::util::wait_pids: waiting for build odm_module' [2025-07-02T06:40:45.477Z] xb::util::wait_pids: waiting for build odm_module [2025-07-02T06:40:45.477Z] + for pid in ${pids[@]} [2025-07-02T06:40:45.477Z] ++ xb::util::get_ppid 80760 [2025-07-02T06:40:45.477Z] ++ local pid=80760 [2025-07-02T06:40:45.477Z] ++ local ppid= [2025-07-02T06:40:45.477Z] ++ [[ -z 80760 ]] [2025-07-02T06:40:45.477Z] +++ ps -p 80760 -o ppid= [2025-07-02T06:40:45.477Z] +++ sed 's/^\s*//g' [2025-07-02T06:40:45.477Z] ++++ errexit [2025-07-02T06:40:45.477Z] ++++ local 'err=1 0' [2025-07-02T06:40:45.477Z] ++++ set +o [2025-07-02T06:40:45.477Z] ++++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] ++++ return [2025-07-02T06:40:45.477Z] ++ ppid= [2025-07-02T06:40:45.477Z] +++ errexit [2025-07-02T06:40:45.477Z] +++ local err=1 [2025-07-02T06:40:45.477Z] +++ set +o [2025-07-02T06:40:45.477Z] +++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] +++ return [2025-07-02T06:40:45.477Z] ++ echo '' [2025-07-02T06:40:45.477Z] + ppid= [2025-07-02T06:40:45.477Z] ++ xb::util::get_pgrp 80760 [2025-07-02T06:40:45.477Z] ++ local pid=80760 [2025-07-02T06:40:45.477Z] ++ local pgrp= [2025-07-02T06:40:45.477Z] ++ [[ -z 80760 ]] [2025-07-02T06:40:45.477Z] +++ ps -p 80760 -o pgrp= [2025-07-02T06:40:45.477Z] +++ sed 's/^\s*//g' [2025-07-02T06:40:45.477Z] ++++ errexit [2025-07-02T06:40:45.477Z] ++++ local 'err=1 0' [2025-07-02T06:40:45.477Z] ++++ set +o [2025-07-02T06:40:45.477Z] ++++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] ++++ return [2025-07-02T06:40:45.477Z] ++ pgrp= [2025-07-02T06:40:45.477Z] +++ errexit [2025-07-02T06:40:45.477Z] +++ local err=1 [2025-07-02T06:40:45.477Z] +++ set +o [2025-07-02T06:40:45.477Z] +++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] +++ return [2025-07-02T06:40:45.477Z] ++ echo '' [2025-07-02T06:40:45.477Z] + pgrp= [2025-07-02T06:40:45.477Z] + [[ -z '' ]] [2025-07-02T06:40:45.477Z] + [[ -z '' ]] [2025-07-02T06:40:45.477Z] + wait 80760 [2025-07-02T06:40:45.477Z] + echo 'xb::util::wait_pids: FATAL: failed to build odm_module!' [2025-07-02T06:40:45.477Z] xb::util::wait_pids: FATAL: failed to build odm_module! [2025-07-02T06:40:45.477Z] + exit 1 [2025-07-02T06:40:45.477Z] + V=4 [2025-07-02T06:40:45.477Z] + info 'waiting for build_vendor_target_files:80746...' [2025-07-02T06:40:45.477Z] + local V=4 [2025-07-02T06:40:45.477Z] + [[ 4 < 4 ]] [2025-07-02T06:40:45.477Z] + for message in "$@" [2025-07-02T06:40:45.477Z] + echo 'waiting for build_vendor_target_files:80746...' [2025-07-02T06:40:45.477Z] waiting for build_vendor_target_files:80746... [2025-07-02T06:40:45.477Z] + xb::util::wait_pids 'build vendor target file' 80746 [2025-07-02T06:40:45.477Z] + local 'messages=build vendor target file' [2025-07-02T06:40:45.477Z] + pids=("${@:2}") [2025-07-02T06:40:45.477Z] + local pids [2025-07-02T06:40:45.477Z] ++ xb::util::get_pgrp 1748371 [2025-07-02T06:40:45.477Z] ++ local pid=1748371 [2025-07-02T06:40:45.477Z] ++ local pgrp= [2025-07-02T06:40:45.477Z] ++ [[ -z 1748371 ]] [2025-07-02T06:40:45.477Z] +++ ps -p 1748371 -o pgrp= [2025-07-02T06:40:45.477Z] +++ sed 's/^\s*//g' [2025-07-02T06:40:45.477Z] ++ pgrp=257 [2025-07-02T06:40:45.477Z] ++ echo 257 [2025-07-02T06:40:45.477Z] + local PGRP=257 [2025-07-02T06:40:45.477Z] + local ppid= [2025-07-02T06:40:45.477Z] + local pgrp= [2025-07-02T06:40:45.477Z] + [[ -z 80746 ]] [2025-07-02T06:40:45.477Z] + echo 'xb::util::wait_pids: waiting for build vendor target file' [2025-07-02T06:40:45.477Z] xb::util::wait_pids: waiting for build vendor target file [2025-07-02T06:40:45.477Z] + for pid in ${pids[@]} [2025-07-02T06:40:45.477Z] ++ xb::util::get_ppid 80746 [2025-07-02T06:40:45.477Z] ++ local pid=80746 [2025-07-02T06:40:45.477Z] ++ local ppid= [2025-07-02T06:40:45.477Z] ++ [[ -z 80746 ]] [2025-07-02T06:40:45.477Z] +++ ps -p 80746 -o ppid= [2025-07-02T06:40:45.477Z] +++ sed 's/^\s*//g' [2025-07-02T06:40:45.477Z] ++++ errexit [2025-07-02T06:40:45.477Z] ++++ local 'err=1 0' [2025-07-02T06:40:45.477Z] ++++ set +o [2025-07-02T06:40:45.477Z] ++++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] ++++ return [2025-07-02T06:40:45.477Z] ++ ppid= [2025-07-02T06:40:45.477Z] +++ errexit [2025-07-02T06:40:45.477Z] +++ local err=1 [2025-07-02T06:40:45.477Z] +++ set +o [2025-07-02T06:40:45.477Z] +++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] +++ return [2025-07-02T06:40:45.477Z] ++ echo '' [2025-07-02T06:40:45.477Z] + ppid= [2025-07-02T06:40:45.477Z] ++ xb::util::get_pgrp 80746 [2025-07-02T06:40:45.477Z] ++ local pid=80746 [2025-07-02T06:40:45.477Z] ++ local pgrp= [2025-07-02T06:40:45.477Z] ++ [[ -z 80746 ]] [2025-07-02T06:40:45.477Z] +++ ps -p 80746 -o pgrp= [2025-07-02T06:40:45.477Z] +++ sed 's/^\s*//g' [2025-07-02T06:40:45.477Z] ++++ errexit [2025-07-02T06:40:45.477Z] ++++ local 'err=1 0' [2025-07-02T06:40:45.477Z] ++++ set +o [2025-07-02T06:40:45.477Z] ++++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] ++++ return [2025-07-02T06:40:45.477Z] ++ pgrp= [2025-07-02T06:40:45.477Z] +++ errexit [2025-07-02T06:40:45.477Z] +++ local err=1 [2025-07-02T06:40:45.477Z] +++ set +o [2025-07-02T06:40:45.477Z] +++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] +++ return [2025-07-02T06:40:45.477Z] ++ echo '' [2025-07-02T06:40:45.477Z] + pgrp= [2025-07-02T06:40:45.477Z] + [[ -z '' ]] [2025-07-02T06:40:45.477Z] + [[ -z '' ]] [2025-07-02T06:40:45.477Z] + wait 80746 [2025-07-02T06:40:45.477Z] + echo 'xb::util::wait_pids: FATAL: failed to build vendor target file!' [2025-07-02T06:40:45.477Z] xb::util::wait_pids: FATAL: failed to build vendor target file! [2025-07-02T06:40:45.477Z] + exit 1 [2025-07-02T06:40:45.477Z] + convert_cache_to_json [2025-07-02T06:40:45.477Z] + set +e [2025-07-02T06:40:45.477Z] + local -r ccache_info_path=/home/jenkins/agent/workspace/pangu_build_component_vendor/ccache_size.log [2025-07-02T06:40:45.477Z] + local ccache_hit_total= [2025-07-02T06:40:45.477Z] + local ccache_total_total= [2025-07-02T06:40:45.477Z] + local ccache_size= [2025-07-02T06:40:45.477Z] + local raw_ccache_hit_info= [2025-07-02T06:40:45.477Z] + local raw_ccache_size_info= [2025-07-02T06:40:45.477Z] + local ccache_timestamp= [2025-07-02T06:40:45.477Z] + local ccache_hostname= [2025-07-02T06:40:45.477Z] + touch /home/jenkins/agent/workspace/pangu_build_component_vendor/ccache_size.log [2025-07-02T06:40:45.477Z] + show_cache_stat [2025-07-02T06:40:45.477Z] + [[ -e /home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script/build/tools/ccache/v4.7.4/ccache ]] [2025-07-02T06:40:45.477Z] + /home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script/build/tools/ccache/v4.7.4/ccache -sv [2025-07-02T06:40:45.477Z] ++ grep -E '^Cacheable calls:' -A1 /home/jenkins/agent/workspace/pangu_build_component_vendor/ccache_size.log [2025-07-02T06:40:45.477Z] ++ grep -v 'Cacheable calls:' [2025-07-02T06:40:45.477Z] +++ errexit [2025-07-02T06:40:45.477Z] +++ local 'err=1 1' [2025-07-02T06:40:45.477Z] +++ set +o [2025-07-02T06:40:45.477Z] +++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] +++ return [2025-07-02T06:40:45.477Z] + raw_ccache_hit_info= [2025-07-02T06:40:45.477Z] ++ errexit [2025-07-02T06:40:45.477Z] ++ local err=1 [2025-07-02T06:40:45.477Z] ++ set +o [2025-07-02T06:40:45.477Z] ++ grep -qe '-o errexit' [2025-07-02T06:40:45.477Z] ++ return [2025-07-02T06:40:45.477Z] ++ echo '' [2025-07-02T06:40:45.477Z] ++ awk '{print $2}' [2025-07-02T06:40:45.477Z] + ccache_hit_total= [2025-07-02T06:40:45.477Z] ++ echo '' [2025-07-02T06:40:45.477Z] ++ awk '{print $4}' [2025-07-02T06:40:45.477Z] + ccache_total_total= [2025-07-02T06:40:45.477Z] ++ grep -E '^Local storage:' -A1 /home/jenkins/agent/workspace/pangu_build_component_vendor/ccache_size.log [2025-07-02T06:40:45.477Z] ++ grep -v 'Local storage:' [2025-07-02T06:40:45.477Z] + raw_ccache_size_info=' Cache size (GB): 464.99 / 500.00 (93.00%)' [2025-07-02T06:40:45.477Z] ++ echo ' Cache size (GB): 464.99 / 500.00 (93.00%)' [2025-07-02T06:40:45.477Z] ++ awk '{print $4}' [2025-07-02T06:40:45.477Z] + ccache_size=464.99 [2025-07-02T06:40:45.477Z] +++ date +%s [2025-07-02T06:40:45.477Z] ++ xb::timedate::timestamp_fmt_with_utc 1751438437 [2025-07-02T06:40:45.477Z] ++ local timestamp_to_convert=1751438437 [2025-07-02T06:40:45.477Z] ++ local tz_selected=UTC-8 [2025-07-02T06:40:45.477Z] ++ local formatted_time= [2025-07-02T06:40:45.477Z] +++ TZ=UTC-8 [2025-07-02T06:40:45.477Z] +++ date -d@1751438437 '+%F %T' [2025-07-02T06:40:45.477Z] ++ formatted_time='2025-07-02 14:40:37' [2025-07-02T06:40:45.477Z] ++ echo '2025-07-02 14:40:37' [2025-07-02T06:40:45.477Z] + ccache_timestamp='2025-07-02 14:40:37' [2025-07-02T06:40:45.477Z] + ccache_hostname=NODE_NAME [2025-07-02T06:40:45.477Z] + local random_file_suffix= [2025-07-02T06:40:45.477Z] ++ xb::util::generate_random_name 8 [2025-07-02T06:40:45.477Z] ++ local length=8 [2025-07-02T06:40:45.477Z] ++ local random_string= [2025-07-02T06:40:45.477Z] +++ tr -dc a-zA-Z0-9 [2025-07-02T06:40:45.477Z] +++ fold -w 8 [2025-07-02T06:40:45.477Z] +++ head -n 1 [2025-07-02T06:40:45.477Z] ++++ errexit [2025-07-02T06:40:45.477Z] ++++ local 'err=141 141 0' [2025-07-02T06:40:45.477Z] ++++ set +o [2025-07-02T06:40:45.477Z] ++++ grep -qe '-o errexit' [2025-07-02T06:40:45.478Z] ++++ return [2025-07-02T06:40:45.478Z] ++ random_string=TGEeAakh [2025-07-02T06:40:45.478Z] +++ errexit [2025-07-02T06:40:45.478Z] +++ local err=141 [2025-07-02T06:40:45.478Z] +++ set +o [2025-07-02T06:40:45.478Z] +++ grep -qe '-o errexit' [2025-07-02T06:40:45.478Z] +++ return [2025-07-02T06:40:45.478Z] ++ echo TGEeAakh [2025-07-02T06:40:45.478Z] + random_file_suffix=TGEeAakh [2025-07-02T06:40:45.478Z] + local ccache_json_file=/home/work/data/miui_codes/log/ccache_info-TGEeAakh.json [2025-07-02T06:40:45.478Z] + local job_task_type=vendor [2025-07-02T06:40:45.478Z] + echo '[{"corgi_id": 6079118, "task_type":"vendor", "ccache_hit_total": 0, "ccache_total_total": 0, "ccache_size": 464.99,"ccache_timestamp":"2025-07-02 14:40:37", "ccache_hostname":"NODE_NAME"}]' [2025-07-02T06:40:45.478Z] + xb::ccache::data2talos /home/work/data/miui_codes/log/ccache_info-TGEeAakh.json [2025-07-02T06:40:45.478Z] + declare data_path=/home/work/data/miui_codes/log/ccache_info-TGEeAakh.json [2025-07-02T06:40:45.478Z] + declare talos_client=/home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script/build/api/talos_client.py [2025-07-02T06:40:45.478Z] + [[ ! -e /home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script/build/api/talos_client.py ]] [2025-07-02T06:40:45.478Z] + timeout 30s python3 /home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script/build/api/talos_client.py /home/work/data/miui_codes/log/ccache_info-TGEeAakh.json cache [2025-07-02T06:40:45.483Z] Talos topic: ccache_perf_log [2025-07-02T06:40:45.483Z] Put 1 messages to talos successfully, see detail in /home/jenkins/agent/workspace/pangu_build_component_vendor/talos_producer-success.log [2025-07-02T06:40:45.483Z] + set -e [2025-07-02T06:40:45.488Z] [Pipeline] } [2025-07-02T06:40:45.505Z] [Pipeline] // script [2025-07-02T06:40:45.510Z] [Pipeline] } [2025-07-02T06:40:45.527Z] [Pipeline] // container [2025-07-02T06:40:45.533Z] [Pipeline] } [2025-07-02T06:40:45.548Z] [Pipeline] // stage [2025-07-02T06:40:45.554Z] [Pipeline] stage [2025-07-02T06:40:45.555Z] [Pipeline] { (Declarative: Post Actions) [2025-07-02T06:40:45.570Z] [Pipeline] container [2025-07-02T06:40:45.572Z] [Pipeline] { [2025-07-02T06:40:45.582Z] [Pipeline] echo [2025-07-02T06:40:45.583Z] result : failure [2025-07-02T06:40:45.585Z] [Pipeline] sh [2025-07-02T06:40:46.080Z] + set -x [2025-07-02T06:40:46.080Z] + timeout 3m bash -x /home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script/bbparse/parse.sh [2025-07-02T06:41:00.931Z] + true [2025-07-02T06:41:00.931Z] + export XBUILDER_SCRIPT_PATH=/home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script [2025-07-02T06:41:00.931Z] + XBUILDER_SCRIPT_PATH=/home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script [2025-07-02T06:41:00.931Z] + source /home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script/build/api/corgi.sh [2025-07-02T06:41:00.931Z] + callback_corgi_status vendor failure [2025-07-02T06:41:00.931Z] + local task_type=vendor [2025-07-02T06:41:00.931Z] + local result=failure [2025-07-02T06:41:00.931Z] + [[ -z vendor ]] [2025-07-02T06:41:00.931Z] + [[ -z failure ]] [2025-07-02T06:41:00.931Z] + local file_dir= [2025-07-02T06:41:00.931Z] + local cust_version= [2025-07-02T06:41:00.931Z] + local artifacts_comp_file= [2025-07-02T06:41:00.931Z] + [[ ! -d '' ]] [2025-07-02T06:41:00.931Z] + [[ -n '' ]] [2025-07-02T06:41:00.931Z] + retry -s 10 -t 10 -e timeout 60s python3 /home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script/build/api/send_mq.py --type=vendor --result=failure --artfs= --cust= --artfs_comp= [2025-07-02T06:41:00.931Z] can not find atest_suite_generate_result.txt [2025-07-02T06:41:00.931Z] {"id": 6079118, "taskType": "vendor", "buildUrl": "https://builder03.pt.miui.com/job/pangu_build_component_vendor/441631/", "result": "failure", "custVersion": "", "machine": "pangu-build-component-vendor-441631-0xff8-fg3kw-gntwp", "outFiles": [], "atestSuiteGenerateResult": "", "malteseRunId": "0", "errorCode": "120034", "codeOwner": "", "description": "FAILED报错,编译问题", "repositoryOwner": ""} [2025-07-02T06:41:00.931Z] Send message status: SendStatus.OK, msgId: 0A0F7950B4B50BE3D34B084CF15C0000 [2025-07-02T06:41:00.931Z] + status=0 [2025-07-02T06:41:00.931Z] + [[ 0 == \1\2\4 ]] [2025-07-02T06:41:00.931Z] + [[ 0 == \1 ]] [2025-07-02T06:41:00.931Z] + source /home/jenkins/agent/workspace/pangu_build_component_vendor/xbuilder-script/build/api/timedate.sh [2025-07-02T06:41:00.931Z] + record_timestamp total failure [2025-07-02T06:41:00.931Z] + local stage=total [2025-07-02T06:41:00.931Z] + local status=failure [2025-07-02T06:41:00.931Z] ++ date +%s%3N [2025-07-02T06:41:00.931Z] + local timestamp=1751438460410 [2025-07-02T06:41:00.931Z] + local time_tracking_raw_file=/home/jenkins/agent/workspace/pangu_build_component_vendor/time_tracking_raw.txt [2025-07-02T06:41:00.931Z] + echo total:failure:1751438460410 [2025-07-02T06:41:00.931Z] + record_timestamp 'post build' start [2025-07-02T06:41:00.931Z] + local 'stage=post build' [2025-07-02T06:41:00.931Z] + local status=start [2025-07-02T06:41:00.931Z] ++ date +%s%3N [2025-07-02T06:41:00.931Z] + local timestamp=1751438460411 [2025-07-02T06:41:00.931Z] + local time_tracking_raw_file=/home/jenkins/agent/workspace/pangu_build_component_vendor/time_tracking_raw.txt [2025-07-02T06:41:00.931Z] + echo 'post build:start:1751438460411' [2025-07-02T06:41:00.931Z] + echo 'copy repo record' [2025-07-02T06:41:00.931Z] copy repo record [2025-07-02T06:41:00.931Z] + export BUILD_HOME=/home/work/data/miui_codes/build_home_rom [2025-07-02T06:41:00.931Z] + BUILD_HOME=/home/work/data/miui_codes/build_home_rom [2025-07-02T06:41:00.931Z] + [[ -s /home/work/data/miui_codes/build_home_rom/.repo/.repo_fetchtimes.json ]] [2025-07-02T06:41:00.931Z] + cp /home/work/data/miui_codes/build_home_rom/.repo/.repo_fetchtimes.json /home/jenkins/agent/workspace/pangu_build_component_vendor/.repo_fetchtimes.json [2025-07-02T06:41:00.931Z] + [[ -s /home/work/data/miui_codes/build_home_rom/.repo/.repo_checkouttimes.json ]] [2025-07-02T06:41:00.931Z] + cp /home/work/data/miui_codes/build_home_rom/.repo/.repo_checkouttimes.json /home/jenkins/agent/workspace/pangu_build_component_vendor/.repo_checkouttimes.json [2025-07-02T06:41:00.931Z] + echo 'cleaning up the old build workspace(build_home_rom*)...' [2025-07-02T06:41:00.931Z] cleaning up the old build workspace(build_home_rom*)... [2025-07-02T06:41:00.931Z] + rm -rf /home/work/data/miui_codes/build_home_rom /home/work/data/miui_codes/build_home_rom-hal-merged /home/work/data/miui_codes/build_home_rom-hal-upper /home/work/data/miui_codes/build_home_rom-hal-work /home/work/data/miui_codes/build_home_rom-krn-merged /home/work/data/miui_codes/build_home_rom-krn-upper /home/work/data/miui_codes/build_home_rom-krn-work /home/work/data/miui_codes/build_home_rom-vext-merged /home/work/data/miui_codes/build_home_rom-vext-upper /home/work/data/miui_codes/build_home_rom-vext-work [2025-07-02T06:41:48.256Z] + true [2025-07-02T06:41:48.265Z] [Pipeline] archiveArtifacts [2025-07-02T06:41:48.269Z] Archiving artifacts [2025-07-02T06:41:48.638Z] [Pipeline] step [2025-07-02T06:41:48.655Z] [Pipeline] logParser
最新发布
07-03
# 实验6 进程管理实验报告 ## 一、实验目的和要求 - 练习Linux进程管理命令 - 了解如何监视系统运行状态 - 掌握查看、删除进程的正确方法 - 掌握命令在后台运行的用法 - 掌握进程手工、调度启动的方法 ## 二、实验环境 - 硬件:PC机 - 软件:Ubuntu操作系统、虚拟机 ## 三、实验步骤及结果 ### 1. 查看系统状态 - **命令**:`top` - **操作**:进入系统,执行`top`命令察看当前系统的状态。 - **截图**:[此处插入top命令执行结果的截图] - **解释说明**:top命令显示了系统的整体运行状态,包括CPU使用率、内存使用率、进程列表等。通过该命令可以识别各进程的有关说明信息。 ### 2. 查看系统当前进程 - **命令**:`ps aux > process` 和 `cat process` - **操作**: - 执行`ps aux > process`命令,将系统当前的进程保存到文件`process`中。 - 执行`cat process`命令查看`process`文件内容。 - **截图**:[此处插入process文件内容的截图] - **解释说明**:`ps aux`命令列出了所有进程的详细信息,包括进程ID、用户、CPU使用率、内存使用率等。 ### 3. 查看当前进程- **命令**:`pstree` - **操作**:执行`pstree`命令查看当前进程树。 - **截图**:[此处插入pstree命令执行结果的截图] - **解释说明**:`pstree`命令以树状结构显示了进程之间的父子关系。 ### 4. 查看init进程 - **问题**:查看系统当前有没有init进程?什么是init进程- **操作**: - 通过`ps aux`或`pstree`命令查找init进程- **截图**:[此处插入查找init进程结果的截图] - **解释说明**:init进程Linux系统启动后的第一个进程,负责启动其他系统服务和进程。在较新的系统中,init可能被systemd等替代。 ### 5. 找出bash进程的父进程 - **命令**:`ps -ef | grep bash` 和 `pstree`(辅助查看) - **操作**: - 执行`ps -ef | grep bash`命令查找bash进程及其父进程- 可选:使用`pstree`命令辅助查看bash进程进程树中的位置。 - **截图**:[此处插入查找bash进程及其父进程结果的截图] - **解释说明**:通过命令可以找到bash进程PID及其父进程PID。 ### 6. 杀死bash进程 - **命令**:`kill PID`(其中PID为bash进程的ID) - **操作**: - 执行`kill PID`命令杀死bash进程- **截图**:[此处插入杀死bash进程前后的对比截图,如终端状态变化] - **解释说明**:杀死bash进程后,当前终端会话将终止,因为bash是终端的shell进程。 ### 7. 输入“cat <回车>”并按Ctrl+z、Ctrl+c - **操作**: - 输入`cat`命令后按回车。 - 按`Ctrl+z`键挂起cat进程- 输入`fg`命令尝试将cat进程恢复到前台。 - 按`Ctrl+c`键终止cat进程- **截图**:[此处插入相关操作的截图] - **解释说明**: - `Ctrl+z`将进程挂起到后台。 - `fg`命令将后台进程恢复到前台。 - `Ctrl+c`终止前台进程。 ### 8. 查找并杀死find进程 - **命令**:`find / -name ls* > temp &` 和 `killall find` - **操作**: - 执行`find / -name ls* > temp &`命令在后台查找名为ls*的文件,并将结果重定向到temp文件。 - 执行`killall find`命令杀死所有find进程- **截图**:[此处插入相关操作的截图,包括find进程查找和杀死前后的对比] - **解释说明**:通过后台运行find命令可以避免阻塞终端,使用`killall`可以方便地杀死所有同名进程。 ### 9. 运行睡眠和vi进程 - **操作**: - 在前台运行2个睡眠进程(sleep),并挂起。 - 在前台运行1个vi进程,并挂起。 - 在后台运行1个睡眠进程- **截图**:[此处插入相关操作的截图] - **解释说明**:展示了如何在前台和后台运行进程,并挂起进程。 ### 10. 列出和调度作业 - **命令**:`jobs`、`bg`、`fg`、`kill` - **操作**: - 执行`jobs`命令列出所有正在运行的作业。 - 使用`bg`命令将第二默认作业在后台继续运行。 - 使用`fg`命令将1号作业在前台继续运行。 - 使用`kill`命令杀死默认作业。 - **截图**:[此处插入相关操作的截图] - **解释说明**:展示了如何列出作业、将作业在后台或前台继续运行,以及杀死作业。 ## 四、实验总结和思考 ### 1. 在Linux中启动一个进程,可采取哪些方式? - 可以直接在终端输入命令启动进程- 可以通过脚本启动进程- 可以通过系统服务管理工具(如systemd)启动进程。 ### 2. 进程的查看和调度分别可使用什么命令?请至少列举出5种命令并加以说明。 - `ps`:查看当前进程状态。 - `top`:动态查看系统进程状态。 - `pstree`:以树状结构显示进程关系。 - `jobs`:列出当前shell会话中的作业。 - `bg`/`fg`:将作业在后台或前台继续运行。 ### 3. Linux进程有哪些状态? - 运行(Running):进程正在CPU上执行。 - 就绪(Ready):进程已准备好执行,等待CPU资源。 - 阻塞(Blocked):进程等待某个事件(如I/O操作)完成。 - 停止(Stopped):进程被暂停执行,如通过`Ctrl+z`挂起。 - 僵尸(Zombie):进程已终止,但其进程描述符仍存在,等待父进程回收。
05-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值