作者:
LaAc (深淵戰士)
2023-01-03 19:22:00在跑模擬的時候通常需要一次執行數個檔案,因為不想要一行行輸入指令,所以想說寫個
script一起跑,雖然成功了但只能一次執行一個檔案,前面的完成後下一個才能跑,於是
我想把script改成可以一次跑所有檔案的樣子:
#!/bin/bash
cd test
chmod u+x *.sh
./A ; ./B ; ./C ; ./D
ABCD各是一個script,執行程式的指令就寫在裡面,長這樣:
#!/bin/bash
cd ..
cd A
[執行程式的指令]
我以為這樣用分號區隔代表一次執行所有指令的意思,但是這樣子好像還是只能一個一個
跑,不知道是哪裡寫錯了呢?
; 是說不管執行結果一個一個執行你要同時四個就用 &,./A & 會送背景送背景以後用 $! 去取 PID,之後可以用 wait 去取 exitcode。
作者:
enthos (影斯作業系統)
2023-01-04 15:38:00nohup ./a& ; nohup ./b &
作者:
dces4212 (flawless)
2023-01-05 18:46:00借問 nohup只用在避免session關掉時相關程式也被關掉的情境吧?
tmux+1 , 比較舊的系統可能可以裝screen
tmux 我只有不能 big5 轉 utf8 這點不習慣 (
coproc, setsid 也可以參考一下,各有不同的使用情境
./A & pa=$!; ./B & pb=$!; wait; kill $pa $pdbash 也可以用 disown
#!/bin/bashcd test chmod u+x *.sh./A & ./B & ./C & ./D &wait這樣,這個 script 就會在一次執行中同時執行 A, B, C, D 四個檔案,並且在所有執行完成後才結束整個執行