shell中建立子程序只要用 & 操作符就行了,表示在後台執行.
可以利用wait 同步所有子程序結束.
例項**如下:
#!/bin/sh
i=1for i in `seq 10`
do echo "$i"
multiply=`expr $i \* 10`
echo "multiply = $multiply"
sleep $multiply &
done
wait
例子中會建立10個子程序,每個程序各自sleep 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 second。
可以用 ps -aux |grep sleep 來檢視程序狀態。
xxha@paf4:~/veex/ux400/upgrade$ ps -aux |grep sleep
warning: bad ps syntax, perhaps a bogus '-'? see
xxha 3919 0.0 0.0 4200 280 pts/3 s+ 11:37 0:00 sleep 10
xxha 3921 0.0 0.0 4200 280 pts/3 s+ 11:37 0:00 sleep 20
xxha 3923 0.0 0.0 4200 284 pts/3 s+ 11:37 0:00 sleep 30
xxha 3925 0.0 0.0 4200 284 pts/3 s+ 11:37 0:00 sleep 40
xxha 3927 0.0 0.0 4200 280 pts/3 s+ 11:37 0:00 sleep 50
xxha 3929 0.0 0.0 4200 280 pts/3 s+ 11:37 0:00 sleep 60
xxha 3931 0.0 0.0 4200 284 pts/3 s+ 11:37 0:00 sleep 70
xxha 3933 0.0 0.0 4200 284 pts/3 s+ 11:37 0:00 sleep 80
xxha 3935 0.0 0.0 4200 284 pts/3 s+ 11:37 0:00 sleep 90
xxha 3937 0.0 0.0 4200 280 pts/3 s+ 11:37 0:00 sleep 100
xxha 3947 0.0 0.0 4384 828 pts/1 s+ 11:37 0:00 grep --color=auto sleep
等過個幾十秒,各子程序慢慢結束
xxha@paf4:~/veex/ux400/upgrade$ ps -aux |grep sleep
warning: bad ps syntax, perhaps a bogus '-'? see
xxha 3929 0.0 0.0 4200 280 pts/3 s+ 11:37 0:00 sleep 60
xxha 3931 0.0 0.0 4200 284 pts/3 s+ 11:37 0:00 sleep 70
xxha 3933 0.0 0.0 4200 284 pts/3 s+ 11:37 0:00 sleep 80
xxha 3935 0.0 0.0 4200 284 pts/3 s+ 11:37 0:00 sleep 90
xxha 3937 0.0 0.0 4200 280 pts/3 s+ 11:37 0:00 sleep 100
xxha 3951 0.0 0.0 4384 832 pts/1 s+ 11:38 0:00 grep --color=auto sleep
最後全部結束:
xxha@paf4:~/veex/ux400/upgrade$ ps -aux |grep sleep
warning: bad ps syntax, perhaps a bogus '-'? see
xxha 3963 0.0 0.0 4384 828 pts/1 s+ 11:39 0:00 grep --color=auto sleep
linux c建立子程序
前言 了解fork 函式 乙個程序呼叫fork 函式建立該程序子程序,系統會為該子程序分配資源儲存資料和 的空間,父程序將資料和 複製給子程序,子程序按父程序 重新執行,即轉殖了父程序並重新執行。fork 函式的返回值,1即fork失敗,值為0時即子程序,返回值大於0即子程序id c 樣例 incl...
linux建立子程序
include include include intmain int argc,char ar else if pid 0 else if pid 0 return0 include include include intmain int argc,char ar else if pid 0 el...
Unix建立子程序
fork函式用於在已存在程序中新建程序。fork函式呼叫一次,返回兩次。當fork返回值為0時,當前程序為fork函式建立的子程序 當fork函式返回值大於0時,當前程序與fork函式呼叫前的程序一致,我們稱之為父程序 當fork函式返回值為 1時,fork函式建立子程序失敗。系統無法保證父程序與子...