远程kill 服务进程

本地根据服务名称kill

ps -ef | grep ycloans | grep -v grep | awk '{print $2}' | xargs kill  
 

根据端口号kill

kill -9 $(lsof -i:9051|awk '{print $2}')

远程根据服务名称kill,需拆解

#远程服务进程
ssh username@host "ps -ef | grep ycloans | grep -v grep | awk  '{print $2}'"
#远程查询PID 并只显示进程号
pid=$(ssh username@host "ps -ef | grep ycloans | grep -v grep | awk  '{print $2}'"| awk '{print $2}')
echo $pid
#只能kill 掉一个进程
ssh username@host "kill -9 ${pid}"

 

解析

  • ps -ef 指令用来查询所有进程

  • grep通过管道来过滤

  • grep -v 是反向查询的意思,grep -v grep的作用是除去包含grep的项。

  • awk '{print $2}'    以空格作为分隔符,打印第二个字段

你可能感兴趣的:(linux,ssh,bash)