2012-05-22 44 views
3

我在Linux CentOS中執行了下面的C代碼來創建一個進程。通過命令行恢復已停止的進程

#include <stdio.h> 
#include <unistd.h> 

    int main() 
    { 
      int i = 0; 

      while (1) 
      { 
       printf ("\nhello %d\n", i ++); 
       sleep (2); 
      } 
    } 

我已經編譯到hello_count。當我做./hello_count,輸出是這樣的:

hello 0 
hello 1 
hello 2 
... 

直到我殺了它。 我使用下面的命令

kill -s SIGSTOP 2956 

停止執行當我做

ps -e 

過程2956 ./hello_count仍然列。

是否有任何命令或任何方法來恢復(不重新啓動)進程號爲2956的進程?

此外,當我停下來的過程中,在命令行中顯示:

[1]+ Stopped  ./hello_count 

是什麼在上面行[1]+是什麼意思?

+3

'fg%1'如果你在bash中。 –

+0

對於線程操作使用htop這是一個很好的軟件,你幾乎可以用它做任何事情。這是一個命令行程序。嘗試在google上搜索可以用「kill」發送的信號類型。我現在很懶,只是提供一些線索^^ – Depado

回答

7
  • 要繼續停止的過程,也就是恢復使用殺-SIGCONT PID
  • REGd中[1] +是處理工作bash的方式。欲瞭解更多信息請致電幫助工作從bash提示。
+0

非常感謝您的幫助。我可以再問你一個疑問嗎? –

+0

我正在做終端。假設我在一個終端窗口中停止了一個進程,並且我想在另一個終端窗口中恢復相同的進程,我該怎麼辦? –

+0

Ajish Alfred:在這種情況下,我認爲你必須在屏幕上啓動命令。 – amaurea