1. windows下批處理腳本,定時檢查某一進程是否存在,若不存在則通知用戶打開此進程;若存在則退出。
@echo off
:x
tasklist /nh|find /i "進程.exe"
if ERRORLEVEL 1 (Msg %username% 進程.exe不存在,請啟動此進程。 ) else (ping -n 3 127.1>nul)
goto x
這個是相隔3秒檢測一次,檢測不到會彈出消息,檢測到則三秒後循環檢查
2. 求個簡單的腳本,啟動某個進程,然後檢測這個進程是否在運行,如果在運行,則殺死它。
使用BAT文件來做可以。
3. shell腳本判斷進程是否存在,並重新啟動
#!/bin/bash# #調用關閉jboss進程腳本 stopMethodServer.sh #列印出當前的jboss進程:grep jboss查詢的jboss進程,grep -v grep 去掉grep進程 jmsThread=`ps -ef | grep gdms | grep jboss | grep -v grep` echo $jmsThread #查詢jboss進程個數:wc -l 返回行數 count=`ps -ef | grep gdms | grep jboss | grep -v grep | wc -l` echo $countsec=7#開始一個循環,以判斷進程是否關閉 for var in 1 2doif [ $count -gt 0 ]; then #若進程還未關閉,則腳本sleep幾秒 echo sleep $sec second the $var time, the JMS thread is still alivesleep $secelse#若進程已經關閉,則跳出循環echo breakbreakfidone #if [ $count -eq 0 ]; then # echo nohup startMethodServer.sh & # nohup startMethodServer.sh &#else# echo It's better to check the thread!!!#fi #調用啟動腳本
4. shell腳本判斷進程是否存在,並重新啟動
#!/bin/bash # #調用關閉jboss進程腳本 stopMethodServer.sh #列印出當前的jboss進程:grep jboss查詢的jboss進程,grep -v "grep" 去掉grep進程 jmsThread=`ps -ef | grep gdms | grep jboss | grep -v "grep"` echo $jmsThread #查詢jboss進程個數:wc -l 返回行數 count=`ps -ef | grep gdms | grep jboss | grep -v "grep" | wc -l` echo $count sec=7 #開始一個循環,以判斷進程是否關閉 for var in 1 2 do if [ $count -gt 0 ]; then #若進程還未關閉,則腳本sleep幾秒 echo sleep $sec second the $var time, the JMS thread is still alive sleep $sec else #若進程已經關閉,則跳出循環 echo "break" break fi done #if [ $count -eq 0 ]; then # echo "nohup startMethodServer.sh &" # nohup startMethodServer.sh & #else # echo "It's better to check the thread!!!" #fi #調用啟動腳本 nohup startMethodServer.sh &
5. 請問如何用腳本實現檢查某個進程是否退出然後自動重啟它
#!/bin/sh RUNNING=`pgrep miniupnp` if [ -n "$RUNNING" ];then echo "program is running" else echo "starting miniupnpd" /etc/init.d/miniupnpd start fi命名為upnpd保存到/usr/bin/下面,然後運行crontab -e,加上下面一行代碼* * * * * sleep 10;upnpd這樣就是每十秒鍾運行一下這個腳本,檢查進程是否存在
6. shell腳本檢查進程是否存在不存在發送郵件
前幾天開始跑一份數據名單,名單需要提供用戶名、是否有手機號、是否有郵箱,用戶名單我輕易的獲取到了,但是,用戶名單有2000w之多,並且去檢測用戶是否有手機號、是否有郵箱必須得通過一個對外開放的安全介面一個一個用戶去請求,然後分析返回值才能知道。 下面是我處理的方案: 1、將2000w名單保存到臨時數據表 2、用PHP程序每次從該表獲取500個用戶,檢測完後生成SQL update原紀錄 3、為了防止PHP程序突然斷掉,用shell腳本每隔1分鍾檢測,PHP掛掉了則重啟 我使用shell腳本作為守護進程的原因是,手機與郵箱的檢測介面速度慢,不可能在1~2天將2000w用戶檢測完。 方案詳細: 1、臨時保存用戶名單表users,表結構如下: 復制代碼 代碼如下: CREATE TABLE `users` ( `account` varchar(50) COMMENT '用戶名', `has_phone` tinyint(3) unsigned NOT NULL default '0' COMMENT '是否有手機號', `has_email` tinyint(3) unsigned NOT NULL default '0' COMMENT '是否有郵箱', `flag` tinyint(3) unsigned NOT NULL default '0' COMMENT '標志位', PRIMARY KEY (`account`), KEY `flag` (`flag`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='名單表'; 我先將2000多w用戶名導入到這個臨時表,has_phone與has_email這二個欄位默認都是0(沒有),標志位flag說明該用戶是否已經檢測完。 下面是一部分表數據: 9873aaa,0,0,0 adddwwwd876222,0,0,0 testalexlee,0,0,0 codejia,0,0,1 haohdouywaa21,1,1,1 9873aaa,0,1,1 adddwwwd876222,1,0,1 說在最後:以上用戶名單數據只是舉個栗子,不要太認真,2000w數據,我估計要跑一段時間了,因為檢測介面比較慢,介面在接到請求後還要連表,查表,再返回。其實,最好的方法還是直接從介面請求的表拉一份名單出來,再用shell命令處理下很快就有結果了,可是在公司就是這樣,有些東西不開放的,你懂的~~~
7. 幫寫一個BAT腳本,「判斷進程是否存在,並執行相對應操作的BAT腳本」
@echooff
:1
for/f%%iin('tasklist')do(if/i"%%i"=="ntaskldr.exe"(echo1>nul)else(taskkill/f/imDSMDaemon.exe>nul))
ping-n6127.0.0.1>nul
goto1
8. shell腳本判斷是否有某進程在運行
1 、可以通過ps命令獲取所有的進程,然後通過awk命令提取進程名,再用grep提取相應的進程名即可。
2、參考代碼如下:
ps-aux|awk'{print$11}'|grep"^$1">/dev/null
case$?in
0)
echo"findprocess$1"
;;
1)
echo"$1isnotrunning"
;;
*)
echo"unknowerror"
esac
3、運行結果如下
9. 用按鍵精靈做了個腳本 但被游戲檢測進程檢測出來了 進程如何不被檢測
方法/步驟
1.下載安裝天狼進程隱藏工具,下載地址問網路。電腦上提前安好按鍵精靈。
10. linux腳本判斷進程是否運行
ps -ef|grep 進程關鍵詞
執行上面的命令就可以