iT邦幫忙

0

linux 上這要執行多程式這功能是甚麼

一般在windows下或視窗介面下可以執行一個程式後在執行另一個程式
但是在linux下是文字輸入執行後畫面就停在執行程是畫面 然我想在執行a動作(a程式執行)後
去執行b(a程式執行)動作 在兩動作中切換看執行狀況 這行為是叫多工嗎
該如何操作

6
fillano
iT邦超人 1 級 ‧ 2013-12-23 11:39:40
最佳解答

這其實要看程式怎麼寫,你也可以寫出windows的console程式,執行時會停在程式畫面...

linux console程式可以在執行時在命令最後加上&,這樣它會在背景跑。正在跑的,按下Ctrl+Z,也會放到背景(不過可能會被suspend),用fg命令可以把它拉回foreground。要看有哪些行程在系統中執行,可以執行ps。使用kill,可以傳signal給行程(不過最常用的是傳9或15來終止執行),某些程式可以支援收到自定signal時,顯示執行資訊,例如dd。

看更多先前的回應...收起先前的回應...
fillano iT邦超人 1 級 ‧ 2013-12-23 11:47:46 檢舉

補充一下,可以用一些工具協助你做多工處理:
http://blog.longwin.com.tw/2013/12/xjobs-thread-multi-process-2013/

我看可能沒這麼嚴重
我猜樓主只是問樓下的 alt + F1~F6 吧
暈

fillano iT邦超人 1 級 ‧ 2013-12-23 14:56:55 檢舉

哈哈 ...先把可以想到的寫出來

fillano iT邦超人 1 級 ‧ 2013-12-24 09:14:43 檢舉

這樣喔...最簡單的就是開兩個console,一個跑a,一個跑c囉...

4
slime
iT邦大師 1 級 ‧ 2013-12-23 11:24:47
  1. 可以用 "&" 結尾, 把 a 動作丟到背景.
  2. 可以用 screen 程式, 開多個 shell 各別執行不同程式.
    至於算不算多工, 廣義來說都算....
8
weiclin
iT邦高手 4 級 ‧ 2013-12-23 12:17:37

如果你沒有安裝桌面環境, 那麼我是都用 alt + F1~F6 可以切換 tty
當然 screen 也是一個不錯的方式, 但大部分的情況下切換 tty 就很快速又方便了

另外, 如果只是要讓程式執行, 不想管他的輸出訊息, 就把輸出重導到 log 檔然後丟到背景去執行, 例如:

<pre class="c" name="code">
tcpdump -w pkt.pcap &> /dev/null &

其中 &> /dev/null 把產生的訊息都忽略掉, 最後的 & 讓程式在背景跑
然後你就可以不受影響的繼續做下一件事

我要發表回答

立即登入回答