1. 程式人生 > >telnet 讓不能後臺執行的程式後臺執行 為程式加入假死檢測功能

telnet 讓不能後臺執行的程式後臺執行 為程式加入假死檢測功能

        Telnet協議是TCP/IP協議族中的一員,是Internet遠端登陸服務的標準協議和主要方式。它為使用者提供了在本地計算機上完成遠端主機工作的能力。在終端使用者的電腦上使用telnet程式,用它連線到伺服器終端使用者可以在telnet程式中輸入命令,這些命令會在伺服器上執行,就像直接在伺服器的控制檯上輸入一樣。可以在本地就能控制伺服器。要開始一個telnet會話,必須輸入使用者名稱和密碼來登入伺服器。Telnet是常用的遠端控制Web伺服器的方法。

         我的理解是Telnet就是一個用tcp建立的一個連線,客戶端與伺服器之間傳送與接收以\r\n結尾(linux以\n為換行符,不用這個做換行符的不用看此文章了)的資料資訊,基於此原理,客戶端在傳送一些特定的二進位制資訊登入telnet伺服器後,再發送要執行的程式文字就可執行自己想要的程式,之後等待伺服器傳送\r\n回來,收到就表示要執行的程式已死;

         基於上述程式設計原理可實現以下功能:

                1,telnet執行程式實質是前臺執行,此法可讓不能後臺執行的程式後臺執行;

                2,telnet客戶端檢測到要執行的程式時退出後,自己主動退出,因終端退出後,在此終端執行的所有程式都會退出,可徹底解決那些已退出程式序但在後臺假死的問題;

       附用shell telnet 執行程式的指令碼

{
sleep 1
echo "root"
sleep 1
echo "root"
sleep 1
echo "cd /bin"
echo "ls"
sleep 1
while [ 1 ]; do sleep 10; done
echo "exit"
} | telnet 127.0.0.1