Linux查看進(jìn)程的所有信息的方法示例
服務(wù)器上有一個(gè)任務(wù)進(jìn)程,當(dāng)我們使用ps -ef | grep task查看時(shí),只能得到一些最基本的信息,假如我們需要知道對(duì)應(yīng)的文件路徑、啟動(dòng)命令的完整路徑,就無(wú)從下手了。
今天教大家一個(gè)方法來(lái)查看進(jìn)程的所有信息,包括啟動(dòng)命令的完整路徑、對(duì)應(yīng)的文件完整路徑等等信息:ls -l /proc/PID
例如使用ps -ef | grep webhook查看進(jìn)程時(shí),只能得到如下信息
> ps -ef | grep webhook root 15902 1 0 Aug15 ? 00:00:00 python -u src/webhook.py root 30639 30612 0 22:50 pts/0 00:00:00 grep --color=auto webhook
然后執(zhí)行 ls -l /proc/15902
> ll /proc/15902 dr-xr-xr-x 2 root root 0 Sep 18 22:52 attr -rw-r--r-- 1 root root 0 Sep 18 22:52 autogroup -r-------- 1 root root 0 Sep 18 22:52 auxv -r--r--r-- 1 root root 0 Sep 18 22:52 cgroup --w------- 1 root root 0 Sep 18 22:52 clear_refs -r--r--r-- 1 root root 0 Aug 15 16:48 cmdline -rw-r--r-- 1 root root 0 Sep 18 22:52 comm -rw-r--r-- 1 root root 0 Sep 18 22:52 coredump_filter -r--r--r-- 1 root root 0 Sep 18 22:52 cpuset lrwxrwxrwx 1 root root 0 Aug 15 16:48 cwd -> /services/apps/webhook -r-------- 1 root root 0 Sep 18 22:52 environ lrwxrwxrwx 1 root root 0 Aug 15 16:48 exe -> /usr/bin/python2.7 dr-x------ 2 root root 0 Aug 15 16:48 fd dr-x------ 2 root root 0 Sep 18 22:52 fdinfo -rw-r--r-- 1 root root 0 Sep 18 22:52 gid_map -r-------- 1 root root 0 Sep 18 22:52 io -r--r--r-- 1 root root 0 Sep 18 22:52 limits ...
有幾個(gè)主要的文件我們可以關(guān)注下:
- cwd:文件所在目錄
- exe:執(zhí)行命令的完整路徑
- environ:執(zhí)行命令時(shí)的環(huán)境變量
補(bǔ)充:
#lsof 列出當(dāng)前系統(tǒng)打開(kāi)文件,常與-i選項(xiàng)使用,用于查看某個(gè)端口被哪個(gè)程序占用 [root@bogon ~]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 6701 root 4u IPv6 64259 0t0 TCP *:http (LISTEN) httpd 6702 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN) httpd 6703 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN) httpd 6704 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN) httpd 6705 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN) httpd 6706 apache 4u IPv6 64259 0t0 TCP *:http (LISTEN) [root@bogon ~]# lsof -i:22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 931 root 3u IPv4 20955 0t0 TCP *:ssh (LISTEN) sshd 931 root 4u IPv6 20965 0t0 TCP *:ssh (LISTEN) sshd 3926 root 3u IPv4 36374 0t0 TCP bogon:ssh->bogon:53436 (ESTABLISHED) [root@bogon ~]# #獲取終端上所有用戶(hù)的有關(guān)進(jìn)程的所有信息 [root@bogon ~]# ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.4 128092 4724 ? Ss Jun25 0:03 /usr/lib/systemd/syste root 2 0.0 0.0 0 0 ? S Jun25 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Jun25 0:00 [ksoftirqd/0] root 6 0.0 0.0 0 0 ? S Jun25 0:00 [kworker/u256:0] root 7 0.0 0.0 0 0 ? S Jun25 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S Jun25 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? R Jun25 0:01 [rcu_sched] root 10 0.0 0.0 0 0 ? S Jun25 0:00 [watchdog/0] root 12 0.0 0.0 0 0 ? S< Jun25 0:00 [khelper] root 13 0.0 0.0 0 0 ? S Jun25 0:00 [kdevtmpfs] root 14 0.0 0.0 0 0 ? S< Jun25 0:00 [netns] root 15 0.0 0.0 0 0 ? S Jun25 0:00 [khungtaskd] root 16 0.0 0.0 0 0 ? S< Jun25 0:00 [writeback] root 17 0.0 0.0 0 0 ? S< Jun25 0:00 [kintegrityd] root 18 0.0 0.0 0 0 ? S< Jun25 0:00 [bioset] root 19 0.0 0.0 0 0 ? S< Jun25 0:00 [kblockd] root 20 0.0 0.0 0 0 ? S< Jun25 0:00 [md] root 26 0.0 0.0 0 0 ? S Jun25 0:00 [kswapd0] root 27 0.0 0.0 0 0 ? SN Jun25 0:00 [ksmd] root 28 0.0 0.0 0 0 ? SN Jun25 0:00 [khugepaged] root 29 0.0 0.0 0 0 ? S Jun25 0:00 [fsnotify_mark] root 30 0.0 0.0 0 0 ? S< Jun25 0:00 [crypto] root 38 0.0 0.0 0 0 ? S< Jun25 0:00 [kthrotld] root 40 0.0 0.0 0 0 ? S< Jun25 0:00 [kmpath_rdacd] root 41 0.0 0.0 0 0 ? S< Jun25 0:00 [kpsmoused] root 43 0.0 0.0 0 0 ? S< Jun25 0:00 [ipv6_addrconf] root 62 0.0 0.0 0 0 ? S< Jun25 0:00 [deferwq] root 94 0.0 0.0 0 0 ? S Jun25 0:00 [kauditd] root 233 0.0 0.0 0 0 ? S< Jun25 0:00 [mpt_poll_0] root 234 0.0 0.0 0 0 ? S< Jun25 0:00 [ata_sff] root 235 0.0 0.0 0 0 ? S< Jun25 0:00 [mpt/0] root 241 0.0 0.0 0 0 ? S Jun25 0:00 [scsi_eh_0] root 243 0.0 0.0 0 0 ? S< Jun25 0:00 [scsi_tmf_0] root 245 0.0 0.0 0 0 ? S Jun25 0:00 [scsi_eh_1] root 246 0.0 0.0 0 0 ? S Jun25 0:00 [kworker/u256:2] 。。。。。。 #獲取某服務(wù)程序的所有進(jìn)程號(hào) [root@bogon ~]# pgrep httpd 6701 6702 6703 6704 6705 6706 #殺死進(jìn)程,killall通過(guò)程序名字殺死所有進(jìn)程 [root@bogon ~]# killall httpd [root@bogon ~]# pgrep httpd [root@bogon ~]# #kill殺死程序 [root@bogon ~]# cat a.sh #死循環(huán) #!/bin/bash while true do echo "linux">/dev/null done [root@bogon ~]# ./a.sh ^Z [1]+ Stopped ./a.sh [root@bogon ~]# ps PID TTY TIME CMD 3930 pts/1 00:00:00 bash 11719 pts/1 00:00:01 a.sh 11729 pts/1 00:00:00 ps [root@bogon ~]# kill 11719 #偶然間發(fā)現(xiàn)這個(gè)問(wèn)題,原因暫時(shí)不明 [root@bogon ~]# ps PID TTY TIME CMD 3930 pts/1 00:00:00 bash 11719 pts/1 00:00:01 a.sh 11733 pts/1 00:00:00 ps [root@bogon ~]# kill -9 11719 #既然普通kill無(wú)法殺死,那么就發(fā)送-9信號(hào)直接強(qiáng)制殺死,問(wèn)題解決 [root@bogon ~]# ps PID TTY TIME CMD 3930 pts/1 00:00:00 bash 11734 pts/1 00:00:00 ps [1]+ Killed ./a.sh [root@bogon ~]# ./a.sh & [1] 11735 [root@bogon ~]# ps PID TTY TIME CMD 3930 pts/1 00:00:00 bash 11735 pts/1 00:00:01 a.sh 11736 pts/1 00:00:00 ps [root@bogon ~]# kill 11735 #普通后臺(tái)運(yùn)行程序可以直接kill [root@bogon ~]# ps PID TTY TIME CMD 3930 pts/1 00:00:00 bash 11737 pts/1 00:00:00 ps [1]+ Terminated ./a.sh [root@bogon ~]#
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。