shell中建立子程序

2021-06-18 07:10:19 字數 2362 閱讀 6831

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函式建立子程序失敗。系統無法保證父程序與子...