當我ping一個站點時,它返回「請求超時」。當這臺服務器再次聯機時,我想製作一個小程序來告訴我(聲音嗶嗶聲或類似的東西)。不管用哪種語言。我認爲這應該是非常簡單的腳本與幾行代碼。那麼怎麼寫呢?當站點(服務器)再次聯機時通知我
4
A
回答
1
不要忘記通知聲音,如回聲「^ G」!只要是不同的 - 這裏的Windows批處理:
C:\> more pingnotify.bat
:AGAIN
ping -n 1 %1%
IF ERRORLEVEL 1 GOTO AGAIN
sndrec32 /play /close "C:\Windows\Media\Notify.wav"
C:\> pingnotify.bat localhost
:)
3
平的一些實施方案允許您爲數據包的收到後退出指定條件:
在Mac OS X,使用ping -a -o $the_host
ping
會繼續努力(默認)-a
表示收到數據包時發出嘟嘟聲-o
表示收到數據包時退出
在Linux(Ubuntu的至少),使用ping -a -c 1 -w inf $the_host
-a
裝置蜂鳴當接收到分組-c 1
指定出口之前發送的分組的數量(在這種情況下1)-w inf
指定無論什麼時候ping退出的最後期限(本例中爲無限)- 當
-c
和-w
一起使用,-c
變得出口之前的數據包的數目接收
要麼可以鏈接到執行您下一個命令,例如儘快ssh登錄到服務器,因爲它涉及了(帶之間的縫隙,使sshd
真正啓動):
# ping -a -o $the_host && sleep 3 && ssh $the_host
0
一種方法是運行ping
是一個循環,例如
while ! ping -c 1 host; do sleep 1; done
(如果你想保持安靜,您可以將輸出重定向到/dev/null
)
在一些系統上,如Mac OS X,ping
也可以有選擇-a -o
(按另一種答案)可用,這將導致它保持ping狀態直到收到響應。但是,許多(大多數?)Linux系統上的ping
沒有-o
選項,並且如果網絡返回錯誤,那麼等效的-c 1 -w 0
類型仍會退出。
編輯:
while ! nc -w 5 -z host port; do sleep 1; done
的-w 5
指定:如果主機不響應ping或者你需要檢查某個端口上服務的可用性,可以在零I/O模式下使用的netcat每個單獨的嘗試都有5秒的超時時間。請注意,使用netcat時,您甚至可以列出多個端口(或端口範圍)以在其中某些端口可用時進行掃描。
編輯2:上面顯示的循環不斷嘗試,直到達到主機(或端口)。在他們後面添加提醒命令,例如嗶嗶聲或彈出一個窗口。
相關問題
- 1. 當節點服務器聯機
- 2. 點擊通知時通知android服務
- 3. 服務計時器通知
- 4. 當我關閉應用程序時服務再次啓動
- 5. 當再次選擇當前選項卡時收到通知
- 6. 當我的服務器發生事件時,Facebook通知
- 7. 如何時通知服務站要求
- 8. Android從服務器通知android手機
- 9. 服務器通知
- 10. 再次發送通知
- 11. 當我的數據庫更新時通知我的WCF服務
- 12. 每次我向服務器添加新站點時,是否必須配置PHP?
- 13. 服務器是否聯機或脫機? (服務器狀態)
- 14. 服務再次調用
- 15. 認證服務器通知
- 16. 報亭通知服務器
- 17. Scout Eclipse通知服務器
- 18. 當我的應用服務器端口關閉時收到通知
- 19. 當我更新服務器文件時,MVC3網站未更新
- 20. 通過互聯網進行客戶機/服務器通信
- 21. 再次登錄時服務器崩潰。 VBA + SQL
- 22. 當我的電腦關機時,我的個人MySQL服務器是否關機?
- 23. 當我在瀏覽器中按回時,再次調用App.on(「start」)
- 24. 主機和服務的Nagios通知
- 25. 當我使用風暴時,如果一臺服務器崩潰(例如關機),拓撲將再次在主機上處理一次元組
- 26. 怎麼看mod_status的/服務器狀態對於所有公司當Apache服務器主機的多個站點
- 27. 當我啓動節點服務器時未找到npm模塊
- 28. 通過HTTPS服務Django站點
- 29. 浮點再次
- 30. 當我通過https訪問我的網站時,瀏覽器從服務器下載源代碼
是'-o'標準的選擇嗎?我在Linux或Windows上沒有看到它 – 2010-04-11 02:19:53
啊,我的不好。它似乎只在Mac上有用。我想他可以把它包裹起來。 – Stephen 2010-04-11 02:22:24
確認'-o'在Linux上不可用。太糟糕了,對於這個用途來說非常方便。 +1無論如何在我的Mac上向我顯示選項。 =) – Arkku 2010-04-11 03:18:37