當shell結束後執行其他的操作

2021-04-12 15:43:26 字數 929 閱讀 9557

option explicit

private const wait_infinite = -1&

private const synchronize = &h100000

private declare function openprocess lib "kernel32" _

(byval dwdesiredaccess as long, _

byval binherithandle as long, _

byval dwprocessid as long) as long

private declare function waitforsingleobject lib "kernel32" _

(byval hhandle as long, _

byval dwmilliseconds as long) as long

private declare function closehandle lib "kernel32" _

(byval hobject as long) as long

private sub command1_click()

dim hprocess as long

dim taskid as long

dim cmdline as string

cmdline = "notepad.exe"

taskid = shell(cmdline, vbnormalfocus)

hprocess = openprocess(synchronize, true, taskid)

call waitforsingleobject(hprocess, wait_infinite)

closehandle hprocess

msgbox "呼叫的程式結束."

end sub

如何讓執行緒A等待B執行結束後執行?

1.使用條件變數 判斷是否任務b已經做完,然後再執行任務a。測試 可看 2.使用countdownlatch。countdownlatch其實可以把它看作乙個計數器,只不過這個計數器的操作是原子操作,同時只能有乙個執行緒去操作這個計數器,也就是同時只能有乙個執行緒去減這個計數器裡面的值。你可以向co...

shell中等待其他程式執行完畢

有時候,該shell指令碼需要等到另乙個shell指令碼 或 程式執行完畢之後,才開始執行。提供一種方法 檢視 前序 指令碼或程式 的程序是否已經執行結束 如果有程式在make,則等待make結束 cnt ps ef grep make grep all grep v grep grep v vi ...

linux下shell指令碼在其他目錄執行

eg 比如說在linux下執行rails自帶的伺服器時,需要這樣的命令rails evn production rails s是不是有點囉嗦呀,每次要打這麼多字,不能忍,萬幸的是我們有shell指令碼的幫助。建立乙個自己的指令碼吧 touch 乙個rails s.sh然後用vim編輯如下,儲存。bi...