2016-03-26 46 views
-3

我需要使用套接字開發客戶端和服務器程序。我的程序應該從命令行獲取端口號。我看到一個例子,上面寫着「myprogram 2454 &」。「program&」在命令行上的含義是什麼?

我不知道&(&符號)是什麼意思。

+0

請參閱'man bash'(或適當的男士/女士)。 – user2864740

+0

http://unix.stackexchange.com/questions/86247/what-does-ampersand-mean-at-the-end-of-a-shell-script-line –

回答

1

它意味着在後臺啓動進程。 http://tldp.org/LDP/abs/html/x9644.html,以便您可以繼續使用shell會話來運行其他程序。然後您可以使用fg來再次「前臺」處理您的過程。

+0

ABS是爲了打擊什麼w3schools是JavaScript - - 一個過時的資源充滿了錯誤的例子,但有很多谷歌果汁。 Wooledge維基是一個更好的資源 - 參見[ProcessManagement](http://mywiki.wooledge.org/ProcessManagement#How_do_I_run_a_job_in_the_background.3F)頁面 - 和bash-hacker維基一樣,它涵蓋了[Basic [bash/lists]的語法規則](http://wiki.bash-hackers.org/syntax/basicgrammar?s [] = background#lists) –

0

&符號(&)表示您想要在後臺運行myprogram。這通常用於希望保持命令提示符並繼續在同一會話上工作的情況。

somescript & 

將運行在後臺somescript殼腳本。你會在下一行得到提示。如果您運行somescript而沒有&則提示可能不會出現,因爲somescript可能需要更多時間。

最好的方法是在沒有掛起的情況下在後臺運行它,在這種情況下甚至會丟失與UNIX或Linux主機上進程繼續運行的主機的連接。

例如

nohup somescript & 

jobs命令將顯示的作業在後臺運行。

+0

作爲一個說明 - 我個人不會在這裏推薦'nohup':一切'nohup'可以直接從bash完成,或者通過使用'trap'內建來指定'HUP'信號應該被忽略,或者通過將stdin從'/ dev/null'或stdout重定向來從TTY中分離出來,並且stderr到一個文件。 –

相關問題