查找某个 ssh 实例的 pid

查找某个 ssh 实例的 pid

可以有多个ssh正在运行的实例:

$ ps aux | grep ssh
cpn       6098  0.0  0.0  58196  2032 ?        S    10:08   0:01 ssh cz -nNCTR 5433:localhost4:5432
root      6313  0.0  0.0  64072  1168 ?        Ss   12:22   0:00 /usr/sbin/sshd
root      6504  0.0  0.0  97816  3856 ?        Ss   15:48   0:00 sshd: cpn [priv] 
cpn       6508  0.0  0.0  97816  1780 ?        S    15:49   0:00 sshd: cpn@pts/0  
cpn       6552  0.0  0.0  57680   936 ?        Ss   16:16   0:00 ssh -fNL 5433:localhost4:5433 cz
cpn       6554  0.0  0.0 103236   860 pts/0    S+   16:16   0:00 grep ssh

pidof返回所有正在运行的 ssh pid:

$ pidof ssh
6552 6098

我需要找到具有反向连接的那个的 pid ( -nNCTR)。

答案1

尝试一下 pgrep:

pgrep -f 'ssh .* -nNCTR'

答案2

Netstat 有 -p 标志,可用于显示连接的 pid。

netstat -alp | grep ssh

答案3

我会这么做

ps axu |grep 'nNCTR'

ps axu 非常适合用于 grep,但是有一个小问题!grep 进程本身!

ps axu |grep 'nNCTR' |grep -v grep

也将排除这一点

相关内容