最近使用Serv-U來架設FTP服務器,用于文件傳輸的橋梁。好景不長,每隔一段時間,Serv-U的服務就會自動停止。因為這個ftp服務很重要,要保證每天都能正常工作,如果只靠人每天來查看服務是否正常,牽涉精力不說,又不是十分靠譜。于是,Google之。網上各種說法都有,如FTP在流量較大的情況下,Serv-U會因為繁忙而自動停止服務。總之,找不到Serv-U周期性停止服務的原因。沒辦法,只好轉換思路:找不到Serv-U周期性停止服務的原因,那么在Serv-U服務停止后能夠檢測到服務停止自動啟動Serv-U服務,這個方案也為嘗不可。 方案:執行計劃+批處理。設置執行計劃,每30分鐘執行一個批處理任務。批處理的作用:讀取進程列表,查看Serv-U進程是否存在;如果進程不存在,啟動該服務并輸出日志。下面是批處理實現部分: 代碼如下: @echo off
for /f "usebackq" %%i in (`"tasklist|find /c "Serv-U.exe""`) do ( set chkstat=%%i )