#lsof 列出当前系统打开文件,常与-i选项使用,用于查看某个端口被哪个程序占用[root@bogon ~]# lsof -i:80COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEhttpd 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:22COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEsshd 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 ~]# #获取终端上所有用户的有关进程的所有信息[root@bogon ~]# ps -auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.4 128092 4724 ? Ss Jun25 0:03 /usr/lib/systemd/systeroot 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]。。。。。。#获取某服务程序的所有进程号[root@bogon ~]# pgrep httpd670167026703670467056706#杀死进程,killall通过程序名字杀死所有进程[root@bogon ~]# killall httpd[root@bogon ~]# pgrep httpd[root@bogon ~]# #kill杀死程序[root@bogon ~]# cat a.sh #死循环#!/bin/bashwhile truedo echo "linux">/dev/nulldone[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 #偶然间发现这个问题,原因暂时不明[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无法杀死,那么就发送-9信号直接强制杀死,问题解决[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 #普通后台运行程序可以直接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 ~]#