1,查看用戶下進程
ps -ef | grep $USER
2,查看指定進程
ps -ef | grep xxx.log | grep -v grep
3,查看指定進程數
ps -ef | grep xxx.log | grep -v grep | wc -l
4,查看指定進程號
ps -ef | grep xxx.log | grep -v grep | awk ‘{print $2}’
5,kill掉指定進程號
kill -9 ps -ef | grep xxx.log | grep -v grep | awk '{print $2}'
( ps前 和 最后的 }’ 后 都有一個字符 ` ,這個字符就是鍵盤數字1左邊的符號,不加這個符號會報錯,這個建議在代碼中使用)
6,shell腳本中循環kill多個指定進程
#!/bin/bash
for i in ${ps -ef | grep xxx_log | grep -v grep | awk '{print $2}' }
do
kill -9 $i
done
7,java代碼中執行命令
int pid = 0;
Process process = Runtime.getRuntime().exec(new String[]{“sh”,"-c","kill -9 ps -ef | grep xxx.log | grep -v grep | awk '{print $2}'"});
InputStream in = process.getInputStream();
BufferedReader bs = new BufferedReader(new InputStreamReader(in) );
pid = Integer.parseInt(bs.readLine);
8,shell腳本創建帶時間的文件名
#!/bin/bash
#backup log-backup-年月日時分秒
newFileName = "xxx-backup-`date +%Y%m%d%H%d`"
echo $newFileName