2015-02-07 58 views
0

目的:按Ctrl-Z發送到Fedora服務器通過telnet不停止的過程

我上通過Telnet協議訪問我的Unix服務器在iOS終端仿真器工作。我正在針對AIX和Fedora Linux進行測試。

問題:

如果我發送按Ctrl-Z(ASCII 26)到AIX服務器,其行爲與預期相同:我拿回一個字符串像stopped programname,然後任何進一步的字符我送得到回顯。

當我將它發送到Fedora服務器時,在我再次發送Ctrl-Z之前,我沒有迴音。該程序在Fedora機器上的Bash下運行。

爲什麼我看到這種行爲差異?

+0

AIX和「Red Hat」之間的差異行爲通過示例來解釋 '我運行了命令「yes hello」。所以你好在屏幕上打印,直到我按「CTRL + Z」放棄它。所以我發送適當的代碼CTRL + Z這是26. 在AIX的情況下,它會返回一些數據「停止是你好」,並在此之後,如果我按任何字符,服務器發回結果。 在「紅帽」的情況下,我收到DM(242)。在我按下每個字符後,不要從服務器回顯,直到我再次按下CTRL + Z.' – 2015-02-09 09:18:43

+0

我正在使用BASH單元格。 – 2015-02-09 09:27:55

+0

你確定*該程序在Bash下運行?你是否打開了另一個終端並運行一個像'ps -e --forest'這樣的命令來檢查它的血統? – 2015-02-09 09:42:37

回答

0

你必須要2個呼叫:

  1. 停止這一進程

    kill -SIGSTOP 'pgrep process_name'

  2. 繼續這一進程

    kill -SIGCONT 'pgrep process_name'

SIGSTOP告訴「擱置」一個過程和SIGCONT講述了一個過程 「拿起你離開了」


看,如果這種幫助。

+0

這是如何在telnet模擬中完成的,因爲我不知道'process_name'。 – 2015-02-09 05:25:17

+0

那麼,你在什麼基礎上暫停進程?或者你怎麼知道哪個進程暫停。 – 2015-02-09 05:49:05

+0

我運行了命令'yes hello'。所以你好在屏幕上打印,直到我按「CTRL + Z」放棄它。所以我發送適當的代碼CTRL + Z是26.作爲回報,我收到DM(242)。在我按下每個字符後,不要從服務器回顯,直到我再次按下CTRL + Z。 – 2015-02-09 05:58:04

相關問題