2012-04-08 38 views
1

如何在Perl中使用Net :: Ping將「CTRL + C/SIGINT」發送到遠程主機?我正在尋找一些功能,如:Net::Ping->execute("CTRL+C"); or Net::Ping->echo("\x03");如何在Perl中使用Net :: Ping將「CTRL + C/SIGINT」發送到遠程主機?

+0

什麼會導致你相信'網:: Ping'都會有這樣的功能? – geekosaur 2012-04-08 09:23:13

+0

Ctrl + C是你從終端發送的東西。 'SIGINT'是你發送給進程組的東西。你也可以通過套接字發送這些東西,這就是'Net :: Ping'的用途。 – 2012-04-08 09:26:52

+0

100%正確!其實事情是[有線的東西是]:當我ping到跨越地理[不同的子網]位於服務器,我無法ping它,但是,如果我遵循以下手動方法,我可以ping它「:1 )平到服務器2)CTRL + C 3)又如平到服務器上,我能ping通:)!首先我要了解什麼SIGINT正好在這裏做的和最重要的是,如果它的工作,然後我需要在我的Perl腳本中自動運行這個東西! – 2012-04-08 09:41:24

回答

1

Net::Ping DOC告訴你:

該模塊包含的方法來測試遠程主機的可達性的網絡上。首先使用可選參數創建ping對象,可變數目的主機可以多次ping,然後連接關閉。

不能任何relecant數據發送到主機。

甚至當你可以:「在另一邊」什麼樣的過程應該執行的是「CTRL + C」的事情嗎?你會期望我的瀏覽器對它做出反應嗎?或者其他一些隨機過程?

而且通過反應我的意思是:它讀成純文本輸入。但我認爲你的意圖是用一個「信號」終止一些過程。信號不能通過網絡協議發送,它們僅在一臺計算機內生成和分發。你將不得不發明自己的協議來彌補差距。

很抱歉,但你的問題是相當徒勞至今。

相關問題