...調(diào)用了命令行,如何讓java線(xiàn)程等待命令行結(jié)束再執(zhí)行
1、synchronized(b) b.wait();//a線(xiàn)程中采用同步,并進(jìn)行等待 c.execute();在b線(xiàn)程結(jié)束時(shí)調(diào)用synchronized(this) notify();這樣就可以達(dá)到b不結(jié)束,a線(xiàn)程就不會(huì)繼續(xù)執(zhí)行c。
2、在你的主線(xiàn)程中用一個(gè)join的方法,你要等待誰(shuí),就用誰(shuí)調(diào)用,比如,你要等待線(xiàn)程a結(jié)束,就用a.join();這樣就可以了。記住哦,這條語(yǔ)句寫(xiě)在哪個(gè)線(xiàn)程里,哪個(gè)線(xiàn)程就要等待調(diào)用這個(gè)方法的其他線(xiàn)程。
3、t.start();然后讓以上操作循環(huán)五次(就是說(shuō)同時(shí)開(kāi)5個(gè)線(xiàn)程),那么這個(gè)ok就會(huì)在等到這5個(gè)線(xiàn)程都o(jì)k后才會(huì)被輸出一次。
4、第一種:實(shí)現(xiàn)Callable類(lèi),使用有返回值的線(xiàn)程,只有線(xiàn)程執(zhí)行完成后才會(huì)返回結(jié)果。
5、thread.Join把指定的線(xiàn)程加入到當(dāng)前線(xiàn)程,可以將兩個(gè)交替執(zhí)行的線(xiàn)程合并為順序執(zhí)行的線(xiàn)程。比如在線(xiàn)程B中調(diào)用了線(xiàn)程A的Join()方法,直到線(xiàn)程A執(zhí)行完畢后,才會(huì)繼續(xù)執(zhí)行線(xiàn)程B。
6、這里可調(diào)用線(xiàn)程的特有方法sleep 和start()來(lái)實(shí)現(xiàn) static void sleep(long millis) 在指定的毫秒數(shù)內(nèi)讓當(dāng)前正在執(zhí)行的線(xiàn)程休眠(暫停執(zhí)行),此操作受到系統(tǒng)計(jì)時(shí)器和調(diào)度程序精度和準(zhǔn)確性的影響。
linux結(jié)束進(jìn)程用什么命令
Linux可以使用Ctrl+C結(jié)束正在終端運(yùn)行的程序。也可以使用kill命令來(lái)結(jié)束指定進(jìn)程。kill命令可以發(fā)送多個(gè)不同的信號(hào),默認(rèn)(缺?。┣闆r下,kill發(fā)送的是TERM,即15(SIGTERM)信號(hào)。
原文網(wǎng)址:https://blog.csdn.net/stocky1234/article/details/84529153 查看原文: http:// 在linux系統(tǒng)管理中,我們有時(shí)候需要結(jié)束掉某個(gè)用戶(hù)的所有進(jìn)程。
需要準(zhǔn)備的材料分別是:電腦、linux連接工具。首先連接上linux主機(jī),進(jìn)入命令行狀態(tài)。輸入:ps -ef,按回車(chē),查詢(xún)進(jìn)程列表。
Linux查看進(jìn)程和終止進(jìn)程的技巧 在LINUX命令平臺(tái)輸入1-2個(gè)字符后按Tab鍵會(huì)自動(dòng)補(bǔ)全后面的部分(前提是要有這個(gè)東西,例如在裝了tomcat的前提下,輸入tomcat的to按tab)。 ps 命令用于查看當(dāng)前正在運(yùn)行的進(jìn)程。
結(jié)束進(jìn)程方式:kill+進(jìn)程編號(hào)、kill -s 9 進(jìn)程編號(hào)強(qiáng)制結(jié)束。
Linux桌面有一個(gè)工具system monitor,它的工作方式類(lèi)似于Windows任務(wù)管理器,打開(kāi)系統(tǒng)監(jiān)視器工具查看運(yùn)行進(jìn)程列表,可以強(qiáng)制關(guān)閉它們。從終端關(guān)閉。比方說(shuō),F(xiàn)irefox是在后臺(tái)運(yùn)行,我們希望從終端殺死它。
linux腳本中,如何等待后臺(tái)進(jìn)程(之前用&放到后臺(tái))結(jié)束再執(zhí)行后面的命令...
1、用wait 比如下面的例子, cmd1 放入后臺(tái)運(yùn)行, 而cmd2 要等 cmd1結(jié)束后才會(huì)執(zhí)行。
2、wait命令用來(lái)等待指令的指令,直到其執(zhí)行完畢后返回終端。該指令常用于shell腳本編程中,待指定的指令執(zhí)行完成后,才會(huì)繼續(xù)執(zhí)行后面的任務(wù)。該指令等待作業(yè)時(shí),在作業(yè)標(biāo)識(shí)號(hào)前必須添加備份號(hào)%。
3、第三種方法主要用于在腳本中切換用戶(hù)su、切換目錄cd等命令。source 和 .命令是相同的。
4、在shell里寫(xiě)一個(gè)條件判斷語(yǔ)句,去查詢(xún)上一條命令執(zhí)行的結(jié)果,如果執(zhí)行成功則執(zhí)行下面的語(yǔ)句。如是上面的命令是一個(gè)簡(jiǎn)單的命令,就用sleep來(lái)控制。
5、運(yùn)行后txt文件會(huì)不斷增加內(nèi)容,但是腳本以后臺(tái)運(yùn)行不會(huì)在終端占用。運(yùn)行結(jié)果為:輸入 jobs 可以看到這個(gè)后臺(tái)進(jìn)程:這個(gè)時(shí)候如果輸入exit,不會(huì)提示有后臺(tái)進(jìn)程在運(yùn)行,而且后臺(tái)進(jìn)程也會(huì)退出。
6、啟動(dòng)后臺(tái)子任務(wù),在執(zhí)行命令后加&操作符,表示將命令放在子shell中異步執(zhí)行。可以達(dá)到多線(xiàn)程效果。如下,sleep10#等待10秒,再繼續(xù)下一操作sleep10當(dāng)前shell不等待,后臺(tái)子shell等待。