當前位置:首頁 » 網頁前端 » 判定服務啟動腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

判定服務啟動腳本

發布時間: 2022-05-09 10:26:16

A. 如何用win 2008 的dos 腳本或者powershell 判斷 另一個伺服器的sqlserver是否啟動

Windows7和Windows server 2008中是沒有dos的,只有命令提示符。即使您使用winpe引導進入系統也不是dos系統。如果你想用DOS,就只能使用光碟或者軟盤製作一個DOS啟動盤,然後設置bios從光碟或軟盤啟動就能進入真正的DOS了。

B. windows設置開機自啟動腳本

Windows系統想要快速設置開機自動啟動某個程序,可以使用以下幾種方法設置:

第一種:設置啟動項

1.找到啟動文件夾,我的是C:\Users\ThinkPad\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,或者打開運行,輸入shell:startup,回車,也可以快速打開啟動文件夾。

2.拷貝需要開機啟動的程序的快捷方式到此文件夾即可。

3.打開任務管理器-啟動查看啟動項。

這樣就設置好了,下次計算機啟動時,程序也會自動啟動的。

第二種:使用計劃任務自啟動

1.新建文本文件DebugStart.txt,打開寫入以下內容:

tasklist|find /i "authSender.exe" && echo started || start "" "D:\Debug\authSender.exe"。

這條語句不能換行, authSender.exe 是程序名, "D:\Debug\authSender.exe"是此程序所在路徑,tasklist|find /i "authSender.exe"是判斷進程是否存在,程序是否已經開啟,如未開啟才會啟動程序,然後改後綴名 .txt 為 .bat,雙擊即可啟動程序。(可以在每條語句前使用 :: 來注釋一條語句),這種方法還可以批量啟動不同程序,只需要在此文件中重啟一行,按相同格式寫第二個要啟動的程序對應的語句即可。

2.進入任務計劃程序窗口,創建任務。

接著選擇觸發器選項卡,選擇新建,在第一欄開始任務處選擇登錄時(啟動時開始任務需要管理員許可權)或啟動時(啟動時開始任務需要管理員許可權),點擊確定。由於我們的 bat腳本有做判斷,所以不用擔心程序會啟動多次。

在操作選項卡選擇新建,並選擇啟動程序選項,以及在程序和腳本處選擇剛才編寫的.bat程序,點擊確定,然後再點擊確定(創建任務界面的確定)。

關閉頁面,即可做到開機自動啟動程序。

第三種:通過組策略設置腳本隨伺服器啟動

1.開始->運行->gpedit.msc->計算機配置->Windows設置->腳本(啟動/關機)。其中Win10有很多版本,其中家庭版默認是不提供組策略功能,如果需要給win10的家庭版添加組策略的功能,可以參考https://blog.csdn.net/lwpkjio/article/details/85236808。

2.添加啟動腳本,點擊確定。

這樣就可以了。

第四種:添加服務自動運行

1.開始---運行---cmd---回車,在彈出的窗體中輸入如下命令:

sc create Debug binPath= D:\Debug\authSender.exe start= auto,其中Debug為將要創建的服務名。要刪除創建的服務也很簡單,使用以下命令即可:sc delete ServiceName

2.打開控制面板---管理工具---服務(或者 開始---運行---services.msc---確認)打開服務管理器,看看你創建的服務已經在裡面了,至此,服務運行已創建完成。

C. 如何判斷服務是否運行的shell腳本

查找正在運行的進程,看全路徑信息,然後找到這個文件判斷。

1、ps aux | grep p_name (查看進程號PID)
2、到/proc/PID下,ls -l 會看到(需要root許可權)

D. 批處理或VBS檢查服務是否啟動

如果是2000,可以到XP下%windir%\system32\拷貝sc.exe過去,如果是2003即自帶了.
sc query ndclient 即可查詢ndclient服務的狀態,如果state:1 STOPED即表示處於停止狀態。

如下面的批處理檢測w32time服務是否停止,如果停止狀態,嘗試啟動它:
@echo off
rem 批處理,檢測w32time服務
sc query w32time | find "STATE" >c:\servstat.txt
set myServStat=-1
for /f "tokens=2,3*" %%a in (c:\servstat.txt) do set myServStat=%%c
if "%myServStat%"=="STOPED" goto startServ
goto :EOF
:startServ
net start w32time

上面的批處理把w32time改成你需要的服務名,或者以%1代替來使用參數,但運行過程會有黑框出現,這可以用VBS來解決。比如上面的批處理保存為c:\chkserv.bat,這個的VBS就行了:

'VBS腳本,定時運行一下c:\chkserv.bat
batfile="c:\chkserv.bat"
do while true
set o=createobject("WScript.Shell")
'下面第二個參數為0即隱藏運行窗口,1顯顯示運行窗口
'測試時可先以1為參數看運行情況
o.run batfile,0
set o=nothing
WScript.Sleep 10*60*60 '10分鍾後再檢測
loop

E. linux判斷某服務是否啟動腳本怎麼寫

用ps命令結合grep命令查找該服務名是否存在即可達到效果:

svc="sendmail"
ifps-ef|grep$svc|egrep-vgrep>/dev/null
then
echo"$svcisstarted!"
else
echo"$svcnotfound!"
fi

說明:

  • ps -ef : 顯示當前所有在運行的進程

  • |:管道,即其前面命令的的輸出,作為後面命令的輸入

  • grep service_name : 在輸出信息中,查找service_name數據行

  • egrep -v grep: 不顯示grep查找命令本身

F. 定時用命令啟動服務的腳本怎麼寫

批處理
@echo off
ping 127.0.0.1 -n 30
net star 你的服務

你可以用VBS讓他後台運行
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c 批處理程序名",vbhide

G. 如何用腳本去寫一個啟動電腦服務的命令

打開一個Txt,寫上下面的內容,保存「服務名.bat」文件

:啟動服務名
echo 啟動服務名
net start 服務名
pause

關閉也一樣(打開一個Txt,寫上下面的內容,保存「服務名.bat」文件):
:關閉服務名
echo 關閉服務名
net stop 服務名
pause

你要想了解更多,可以看一下「批處理命令」