查看進程是工做中使用頻率較高的需求,通常來講使用的就是ps -ef | grep xxx,執行以後就是以下:bash
[root@hadoop001 ~]# ps -ef | grep tail
root 9831 9779 0 22:10 pts/1 00:00:00 tail -f tail.log
root 9893 8818 0 22:11 pts/0 00:00:00 grep --color=auto tail
進程用戶 pid 父pid 進程內容
#返回結果不帶grep
[root@hadoop001 ~]# ps -ef | grep tail | grep -v grep
root 9831 9779 0 22:10 pts/1 00:00:00 tail -f tail.log
複製代碼
通常kill命令與此相搭配,kill -9 pid 殺死pid的進程。不過生產上執行該命令以前,必定要確認清楚:ssh
這裏也提供批量殺進程,kill -9 $(pgrep -f xxx),殺掉與xxx相關的命令,可是這個命令也會誤殺掉你不想殺掉的同名的xxx進程,不建議使用。tcp
怎麼查看服務使用的端口呢?通常使用的都是netstat -nlp | grep pid,這個就能夠與上面的結合使用了,下面舉個例子:oop
# sshd服務有許多進程,主要關注pid和父pid
[root@hadoop001 ~]# ps -ef | grep sshd
root 3315 1 0 14:13 ? 00:00:00 /usr/sbin/sshd -D <-- 主要
root 8816 3315 0 22:05 ? 00:00:00 sshd: root@pts/0
root 9776 3315 0 22:10 ? 00:00:00 sshd: root@pts/1
root 9834 3315 0 22:10 ? 00:00:00 sshd: root@pts/2
root 11499 8818 0 22:27 pts/0 00:00:00 grep --color=auto sshd
[root@hadoop001 ~]# netstat -nlp | grep 3315
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3315/sshd
tcp6 0 0 :::22 :::* LISTEN 3315/sshd
複製代碼
經過上述能夠看出sshd服務的端口是22,並且22前面的要是機器的ip或0.0.0.0 或 :::,表示對外的任意ip能夠服務,可是127.0.0.1或localhost,只能在這臺的機器上訪問這個服務。 因此,若是你想要看一個的服務的端口,流程就是服務名稱->pid->port。spa