0
我有一個守護進程perl寫非標準端口上運行Telnet監聽端口的自定義命令8622.如何發送命令到是Perl
現在我想寫一個客戶端程序,它可以調用守護使用telnet命令進行處理。客戶端程序必須根據收到的輸出抓取輸出並進一步處理。
我沒有被端口8622.
以下運行遠程登錄的任何用戶名的密碼是我的客戶端程序代碼
#!/usr/bin/perl -wl
use Net::Telnet;
$port = 8622;
$IP = '127.0.0.1';
$cmd = "CSDD"; #command to send
$telnet = new Net::Telnet (Timeout=>5, port=>$port, Errmode=>'die',Prompt => '/\$ $/i');
$telnet->open($IP);
#$telnet->login('','');
print $telnet->cmd($cmd);
$telnet->close;
exit;
守護進程接收命令,但它一直在運行無限即使沒有任何條件檢查循環。
如果從命令提示符運行telnet,守護進程將正常工作。
我希望我能正確解釋我的英文不好。 我很新的Perl,所以請幫助我。
感謝提前:)
感謝您的建議現在守護進程接受客戶端程序發送的命令正確,但我無法抓住從守護進程發送到客戶端程序的數據。 我正在採取以下方式... 再次感謝您的及時回覆 [code] $ telnet-> waitfor('/^$ /'); $ telnet-> print($ cmd); $ result = $ telnet-> waitfor('/^$ /'); print $ result; [code] 它只是輸出'1' 如何抓取守護進程發送的數據? 以上代碼是否正確? 再次感謝您的及時答覆:) – Yogesh 2011-12-22 11:57:52
上守護進程 守護進程的更多信息接受來自客戶端程序的套接字連接,然後將其作爲 [代碼]打印襪子「這是結果」將數據發送回客戶端程序; [碼] – Yogesh 2011-12-22 13:53:52