欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何實(shí)現(xiàn)nohup?java進(jìn)程號(hào)一直在變方法步驟詳解

 更新時(shí)間:2023年11月28日 10:39:44   作者:mob64ca12ec3a08  
這篇文章主要為大家介紹了如何實(shí)現(xiàn)nohup?java進(jìn)程號(hào)一直在變方法步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

如何實(shí)現(xiàn)“nohup java 進(jìn)程號(hào)一直在變”

1. 整體流程

在這個(gè)任務(wù)中,我們需要實(shí)現(xiàn)的目標(biāo)是讓一個(gè)Java進(jìn)程的進(jìn)程號(hào)一直在變化。為了達(dá)到這個(gè)目標(biāo),我們可以按照以下步驟進(jìn)行操作:

接下來(lái),我們將詳細(xì)說(shuō)明每一步需要做什么,并提供相應(yīng)的代碼和注釋。

2. 操作步驟

2.1 編寫Java程序

首先,我們需要編寫一個(gè)Java程序,該程序會(huì)不斷輸出進(jìn)程號(hào)。下面是一個(gè)示例程序:

public class ProcessIdPrinter {
    public static void main(String[] args) {
        while (true) {
            System.out.println("當(dāng)前進(jìn)程號(hào):" + ProcessHandle.current().pid());
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

上面的代碼使用ProcessHandle.current().pid()方法獲取當(dāng)前Java進(jìn)程的進(jìn)程號(hào),并每隔一秒打印一次。

2.2 使用nohup命令后臺(tái)運(yùn)行Java程序

使用nohup命令可以將程序在后臺(tái)運(yùn)行,并且不受終端關(guān)閉的影響。下面是運(yùn)行Java程序的命令:

nohup java ProcessIdPrinter > /dev/null 2>&1 &

上面的命令將ProcessIdPrinter類的輸出重定向到/dev/null,并將標(biāo)準(zhǔn)錯(cuò)誤輸出也重定向到/dev/null,最后使用&符號(hào)將程序放入后臺(tái)運(yùn)行。

2.3 檢查進(jìn)程號(hào)是否在變化

為了檢查Java程序的進(jìn)程號(hào)是否在變化,我們可以使用ps命令獲取當(dāng)前正在運(yùn)行的Java進(jìn)程號(hào),并與之前保存的進(jìn)程號(hào)進(jìn)行比較。下面是檢查進(jìn)程號(hào)是否在變化的代碼:

#!/bin/bash

# 獲取進(jìn)程號(hào)
old_pid=$(ps -ef | grep "java ProcessIdPrinter" | grep -v grep | awk '{print $2}')

# 檢查進(jìn)程號(hào)是否在變化
while true
do
    new_pid=$(ps -ef | grep "java ProcessIdPrinter" | grep -v grep | awk '{print $2}')
    
    if [[ "$old_pid" == "$new_pid" ]]
    then
        echo "進(jìn)程號(hào)未發(fā)生變化,重啟Java程序"
        kill -9 $new_pid
        nohup java ProcessIdPrinter > /dev/null 2>&1 &
    else
        echo "進(jìn)程號(hào)發(fā)生變化"
        old_pid=$new_pid
    fi
    
    sleep 5
done

上面的代碼使用ps -ef命令獲取所有正在運(yùn)行的進(jìn)程,然后使用grep命令過(guò)濾出我們的Java程序進(jìn)程,再使用awk命令提取出進(jìn)程號(hào)。然后,使用一個(gè)無(wú)限循環(huán)不斷檢查進(jìn)程號(hào)是否發(fā)生變化,如果進(jìn)程號(hào)未發(fā)生變化,則重啟Java程序。

3. 運(yùn)行流程

journey
    title 如何實(shí)現(xiàn)“nohup java 進(jìn)程號(hào)一直在變”
    section 編寫Java程序
        編寫一個(gè)Java程序,該程序會(huì)不斷輸出進(jìn)程號(hào)
    section 使用nohup命令后臺(tái)運(yùn)行Java程序
        使用nohup命令將Java程序放入后臺(tái)運(yùn)行
    section 檢查進(jìn)程號(hào)是否在變化
        不斷檢查Java程序的進(jìn)程號(hào)是否發(fā)生變化,如果未發(fā)生變化,則重啟Java程序

4. 時(shí)間計(jì)劃圖

以上就是如何實(shí)現(xiàn)nohup java 進(jìn)程號(hào)一直在變?cè)斀獾脑敿?xì)內(nèi)容,更多關(guān)于nohup java 進(jìn)程號(hào)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解IDEA用maven創(chuàng)建springMVC項(xiàng)目和配置

    詳解IDEA用maven創(chuàng)建springMVC項(xiàng)目和配置

    本篇文章主要介紹了詳解IDEA用maven創(chuàng)建springMVC項(xiàng)目和配置 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 解決IDEA報(bào)錯(cuò)Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded

    解決IDEA報(bào)錯(cuò)Caused by: org.springframework.boot.web.se

    遇到IDEA啟動(dòng)報(bào)錯(cuò),可嘗試以下方法:打開項(xiàng)目設(shè)置(Ctrl+Shift+Alt+S),將JDK版本修改為1.8;或者檢查TomCat依賴,若有問(wèn)題可嘗試刪除,此外,確保每次拉取項(xiàng)目后,maven地址設(shè)置為本地,并且JDK版本設(shè)置為1.8,以上為個(gè)人解決經(jīng)驗(yàn),希望對(duì)大家有所幫助
    2024-09-09
  • 詳解Java無(wú)需解壓直接讀取Zip文件和文件內(nèi)容

    詳解Java無(wú)需解壓直接讀取Zip文件和文件內(nèi)容

    本篇文章主要介紹了詳解Java無(wú)需解壓直接讀取Zip文件和文件內(nèi)容,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • SpringSecurity實(shí)現(xiàn)權(quán)限認(rèn)證與授權(quán)的使用示例

    SpringSecurity實(shí)現(xiàn)權(quán)限認(rèn)證與授權(quán)的使用示例

    本文主要介紹了SpringSecurity實(shí)現(xiàn)權(quán)限認(rèn)證與授權(quán)的使用示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • 輕松掌握J(rèn)ava策略模式

    輕松掌握J(rèn)ava策略模式

    這篇文章主要幫助大家輕松掌握J(rèn)ava策略模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • SpringBoot中的@Import注解四種使用方式詳解

    SpringBoot中的@Import注解四種使用方式詳解

    這篇文章主要介紹了SpringBoot中的@Import注解四種使用方式詳解,@Import注解只可以標(biāo)注在類上,可以結(jié)合 @Configuration注解、ImportSelector、ImportBeanDefinitionRegistrar一起使用,也可以導(dǎo)入普通的類,需要的朋友可以參考下
    2023-12-12
  • SpringBoot發(fā)現(xiàn)最新版Druid重大問(wèn)題(坑)

    SpringBoot發(fā)現(xiàn)最新版Druid重大問(wèn)題(坑)

    這篇文章主要介紹了SpringBoot發(fā)現(xiàn)最新版Druid重大問(wèn)題(坑),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Integer IntegerCache源碼閱讀

    Integer IntegerCache源碼閱讀

    這篇文章主要介紹了Integer IntegerCache源碼閱讀,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Spring基于advisor配置aop過(guò)程解析

    Spring基于advisor配置aop過(guò)程解析

    這篇文章主要介紹了Spring基于advisor配置aop過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 什么是Java布隆過(guò)濾器?如何使用你知道嗎

    什么是Java布隆過(guò)濾器?如何使用你知道嗎

    這篇文章主要為大家詳細(xì)介紹了Java布隆過(guò)濾器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02

最新評(píng)論