本篇內(nèi)容主要講解“kill命令在Java應(yīng)用中使用的注意事項(xiàng)有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“kill命令在Java應(yīng)用中使用的注意事項(xiàng)有哪些”吧!
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供五常網(wǎng)站建設(shè)、五常做網(wǎng)站、五常網(wǎng)站設(shè)計(jì)、五常網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、五常企業(yè)網(wǎng)站模板建站服務(wù),十載五常做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。linux 中常見(jiàn)的信號(hào)
1 SIGHUP 掛起進(jìn)程
2 SIGINT 終止進(jìn)程
3 SIGGQUIT 停止進(jìn)程
9 SIGKILL 無(wú)條件終止進(jìn)程
15 SIGTERM 盡可能終止進(jìn)程
17 SIGSTOP 無(wú)條件停止進(jìn)程,但不是終止
18 SIGTSTP 停止或者暫停進(jìn)程,但不終止進(jìn)程
19 SIGCONT 繼續(xù)運(yùn)行停止的進(jìn)程
在Java中的應(yīng)用
創(chuàng)建一個(gè)SpringBoot的web應(yīng)用
啟動(dòng)類如下,添加了一個(gè)鉤子函數(shù),當(dāng)進(jìn)程關(guān)閉時(shí),將會(huì)調(diào)用該鉤子函數(shù)。
@SpringBootApplicationpublic class WebApplication { public static void main(String args[]){ SpringApplication.run(WebApplication.class,args); Runtime.getRuntime().addShutdownHook(new Thread(){ @Override public void run() { System.out.println("do ShutdownHook.......... "); } }); }}
使用maven打包。
mvn package
測(cè)試kill -3
啟動(dòng)應(yīng)用
這里注意,如果使用相對(duì)路徑啟動(dòng)應(yīng)用,則jps看到的進(jìn)程名稱為jar,使用絕對(duì)路徑如下則顯示完整的jar名稱:web-1.0.jar。
java -jar ~/aProject/web/target/web-1.0.jar
查看進(jìn)程pid
lgj@lgj-Lenovo-G470:~/aProject/web/target$ jps | grep web21060 web-1.0.jar
使用kill -3
lgj@lgj-Lenovo-G470:~/aProject/web/target$ kill -3 21060
可以看到啟動(dòng)界面打印了Java應(yīng)用的堆棧信息。打印的是收到-3信號(hào)時(shí)刻的線程信息。
如果使用以下方式啟動(dòng)應(yīng)用
nohup java -jar ~/aProject/web/target/web-1.0.jar &
lgj@lgj-Lenovo-G470:~/aProject/web/target$ ls -l |grep nohup.out -rw------- 1 lgj lgj 22811 Jun 9 00:41 nohup.out
可以看到啟動(dòng)所在的目錄多了一個(gè)文件nohup.out。該文件記錄了應(yīng)用啟動(dòng)運(yùn)行過(guò)程中的日志。
nohup 命令 & ;
&表示以后臺(tái)方式運(yùn)行應(yīng)用。但如果退出關(guān)閉啟動(dòng)的控制臺(tái),進(jìn)程將會(huì)停止。
nohup + &也是以后臺(tái)方式運(yùn)行應(yīng)用,但是退出關(guān)閉啟動(dòng)的控制臺(tái),進(jìn)程不會(huì)停止。且進(jìn)程日志將會(huì)輸出到nohup.out中。
此時(shí)使用kill -3。打印的線程信息可以到該nohup.out中查看。
測(cè)試kill 和kill -9
啟動(dòng)應(yīng)用
java -jar ~/aProject/web/target/web-1.0.jar
使用kill pid殺死進(jìn)程
lgj@lgj-Lenovo-G470:~/aProject/web/target$ jps | grep web21470 web-1.0.jarlgj@lgj-Lenovo-G470:~/aProject/web/target$ kill 21470lgj@lgj-Lenovo-G470:~/aProject/web/target$
可以看到輸出日志中輸出了鉤子函數(shù)中所打印的
do ShutdownHook..........
2019-06-09 01:18:28.610 INFO 21470 --- [ main] com.demo.web.WebApplication : Started WebApplication in 4.585 seconds (JVM running for 5.274)do ShutdownHook.......... 2019-06-09 01:18:41.381 INFO 21470 --- [ Thread-3] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
使用kill -9 pid殺死進(jìn)程
lgj@lgj-Lenovo-G470:~/aProject/web/target$ jps | grep web21568 web-1.0.jarlgj@lgj-Lenovo-G470:~/aProject/web/target$ kill -9 21568
最后的日志并沒(méi)有輸出鉤子函數(shù)中的內(nèi)容
2019-06-09 01:20:37.579 INFO 21568 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8452 (http) with context path ''2019-06-09 01:20:37.585 INFO 21568 --- [ main] com.demo.web.WebApplication : Started WebApplication in 4.171 seconds (JVM running for 4.812)Killed
到此,相信大家對(duì)“kill命令在Java應(yīng)用中使用的注意事項(xiàng)有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)頁(yè)題目:kill命令在Java應(yīng)用中使用的注意事項(xiàng)有哪些-創(chuàng)新互聯(lián)
本文鏈接:http://jinyejixie.com/article14/deopde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、ChatGPT、用戶體驗(yàn)、Google、網(wǎng)站內(nèi)鏈、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容