參考博主文章
以mac下殺死和重啟pycharm程式為例編寫指令碼,使用的是python3.6環境
一、殺死程序
ps -ef | grep pycharm | awk '' | xargs kill -9 # ps -ef | grep pycharm | awk '' | xargs執行之後,會將所有含有pycharm都程序號列出來
二、啟動程序
三、建立乙個shell檔案,假設命名未re_s.sh,內容如下,作用是用來殺死程序,延時5s,啟動程序 (|| 和&& 的區別,參考此博主的部落格
#!/bin/bash
echo 're start' `date` >> /users/007/desktop/test/log.log && # 日誌中記錄指令碼開始時間
ps -ef | grep pycharm | awk '' | xargs kill -9 || # 殺死程序,此處可以省略||,(用|| 而沒用&& ,因為此命令執行後會出現kill: ***x: no such process 錯誤,|| 的意思是出現錯誤後執行接下來的語句,而&&是沒有錯誤的情況下執行接下來的語句)
sleep 5s && # 延時5s
/bin/bash /users/007/desktop/test/re_start.sh && # 啟動程序
echo 're end' `date` >> /users/007/desktop/test/log.log # 寫入日誌
四、建立用來啟動程式程序的指令碼,這裡假設命名為re_start.sh
#!/bin/bash
echo 'start' `date` >> /users/007/desktop/test/log.log &&
echo 'end' `date` >> /users/007/desktop/test/log.log
五、都設定好之後,執行re_s.sh檔案即可
注意:.sh檔案需要加可執行許可權,不過為了方便,一般使用chmod 777 ***.sh,許可權全加,也可以將四和五中的部分**整合成乙個shell指令碼,如果要定時,可以使用crontab進行定時
# 整合後的**
#!/bin/bash
echo 're start' `date` >> /users/007/desktop/test/log.log && # 日誌中記錄指令碼開始時間
ps -ef | grep pycharm | awk '' | xargs kill -9 || # 殺死程序,此處可以省略||,(用|| 而沒用&& ,因為此命令執行後會出現kill: ***x: no such process 錯誤,|| 的意思是出現錯誤後執行接下來的語句,而&&是沒有錯誤的情況下執行接下來的語句)
sleep 5s && # 延時5s
echo 're end' `date` >> /users/007/desktop/test/log.log # 寫入日誌
Linux Shell指令碼實現根據程序名殺死程序
shell指令碼原始碼如下 bin sh 根據程序名殺死程序 if lt 1 then echo 缺少引數 procedure name exit 1fi process ps ef grep 1 grep v grep grep v ppid awk for i in process do ech...
Linux Shell指令碼實現根據程序名殺死程序
懷念windows下的任務管理器啊,有啥看的順眼的程式滑鼠點幾下就能將其乾掉。今天在用firefox瀏覽器瀏覽網頁時,介面瞬間卡住了,什麼都不能點,測試了下,只有切換到命令列介面 ctrl alt f1 才有反應,切回文字介面ctrl alt f7 後還是卡住的。ps 其他按鍵的感覺就像是失效一般,...
Linux Shell指令碼實現根據程序名殺死程序
懷念windows下的任務管理器啊,有啥看的順眼的程式滑鼠點幾下就能將其乾掉。今天在用firefox瀏覽器瀏覽網頁時,介面瞬間卡住了,什麼都不能點,測試了下,只有切換到命令列介面 ctrl alt f1 才有反應,切回文字介面ctrl alt f7 後還是卡住的。ps 其他按鍵的感覺就像是失效一般,...