看板 Linux 關於我們 聯絡資訊
在跑模擬的時候通常需要一次執行數個檔案,因為不想要一行行輸入指令,所以想說寫個 script一起跑,雖然成功了但只能一次執行一個檔案,前面的完成後下一個才能跑,於是 我想把script改成可以一次跑所有檔案的樣子: #!/bin/bash cd test chmod u+x *.sh ./A ; ./B ; ./C ; ./D ABCD各是一個script,執行程式的指令就寫在裡面,長這樣: #!/bin/bash cd .. cd A [執行程式的指令] 我以為這樣用分號區隔代表一次執行所有指令的意思,但是這樣子好像還是只能一個一個 跑,不知道是哪裡寫錯了呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.108.42 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1672744924.A.049.html ※ 編輯: LaAc (118.231.138.15 臺灣), 01/03/2023 19:28:30
Bencrie: ; 是說不管執行結果一個一個執行 01/03 19:38
Bencrie: 你要同時四個就用 &,./A & 會送背景 01/03 19:39
Bencrie: 送背景以後用 $! 去取 PID,之後可以用 wait 去取 exit 01/03 19:40
Bencrie: code。 01/03 19:40
感謝 我去試試看 ※ 編輯: LaAc (118.231.138.15 臺灣), 01/03/2023 20:28:57
enthos: nohup ./a& ; nohup ./b & 01/04 15:38
感謝 這樣寫也可以跑! ※ 編輯: LaAc (118.231.138.15 臺灣), 01/05/2023 01:02:56
dces4212: 借問 nohup只用在避免session關掉時相關程式也被關掉的 01/05 18:46
dces4212: 情境吧? 01/05 18:46
Bencrie: 是。不過我都用 tmux 01/05 19:02
holishing: tmux+1 , 比較舊的系統可能可以裝screen 01/06 22:18
rickieyang: 一直都用screen,懶得重新適應tmux @@ 01/07 01:00
holishing: tmux 我只有不能 big5 轉 utf8 這點不習慣 ( 01/07 01:33
Typebrook: coproc, setsid 也可以參考一下,各有不同的使用情境 01/07 10:38
Gold740716: ./A & pa=$!; ./B & pb=$!; wait; kill $pa $pd 01/07 22:24
Gold740716: bash 也可以用 disown 01/08 00:06
newversion: &後面不能有分號; 會出錯 01/08 10:26
simpson083: #!/bin/bash 02/14 00:26
simpson083: cd test chmod u+x *.sh 02/14 00:26
simpson083: ./A & ./B & ./C & ./D & 02/14 00:26
simpson083: wait 02/14 00:26
simpson083: 這樣,這個 script 就會在一次執行中同時執行 A, B, C 02/14 00:26
simpson083: , D 四個檔案,並且在所有執行完成後才結束整個執行 02/14 00:26