nohup java -jar supporterSys.jar --spring.profiles.active=prod &

文章目录

  • [1、ps -ef | grep java](#1、ps -ef | grep java)
  • [2、kill 1371](#2、kill 1371)
  • [3、ps -ef | grep java](#3、ps -ef | grep java)
  • [4、nohup java -jar supporterSys.jar --spring.profiles.active=prod &](#4、nohup java -jar supporterSys.jar --spring.profiles.active=prod &)
  • [5、ps -ef | grep java](#5、ps -ef | grep java)
      • [1. 启动方式](#1. 启动方式)
        • [进程 1371](#进程 1371)
        • [进程 19994](#进程 19994)
      • [2. 主要区别](#2. 主要区别)
      • [3. 可能的原因](#3. 可能的原因)
      • [4. 建议](#4. 建议)

1、ps -ef | grep java

c 复制代码
root@shipper:~# ps -ef | grep java
root      1371     1  0 Sep05 ?        02:22:08 java -jar -Djava.security.egd=file:/dev/./urandom /root/supporterSys.jar --spring.profiles.active=prod
root     19969 19954  0 15:37 pts/1    00:00:00 grep --color=auto java

2、kill 1371

c 复制代码
root@shipper:~# kill 1371

3、ps -ef | grep java

c 复制代码
root@shipper:~# ps -ef | grep java
root     19981 19954  0 15:37 pts/1    00:00:00 grep --color=auto java

4、nohup java -jar supporterSys.jar --spring.profiles.active=prod &

c 复制代码
root@shipper:~# nohup java -jar supporterSys.jar --spring.profiles.active=prod &
[1] 19994
root@shipper:~# nohup: ignoring input and appending output to 'nohup.out'

5、ps -ef | grep java

c 复制代码
root@shipper:~# ps -ef | grep java
root     19994 19954 92 15:40 pts/1    00:00:35 java -jar supporterSys.jar --spring.profiles.active=prod
root     20059 20028  0 15:41 pts/2    00:00:00 grep --color=auto java
c 复制代码
root      1371     1  0 Sep05 ?        02:22:08 java -jar -Djava.security.egd=file:/dev/./urandom /root/supporterSys.jar --spring.profiles.active=prod
root     19994 19954 92 15:40 pts/1    00:00:35 java -jar supporterSys.jar --spring.profiles.active=prod
这两者有什么区别?

您提供的两个进程信息显示了两个运行 supporterSys.jar 的 Java 进程。这两个进程有一些明显的区别,主要体现在启动方式、启动时间和资源占用等方面。下面是对这两个进程的详细分析:

1. 启动方式

进程 1371
sh 复制代码
root      1371     1  0 Sep05 ?        02:22:08 java -jar -Djava.security.egd=file:/dev/./urandom /root/supporterSys.jar --spring.profiles.active=prod
  • 启动用户 :root
  • 父进程 ID :1(通常表示这是系统启动时的一个守护进程)
  • 启动时间 :Sep05(9月5日)
  • 终端 :?(表示这不是一个交互式终端,而是一个后台进程)
  • CPU 使用率 :0%
  • 内存使用时间 :02:22:08(表示这个进程已经运行了大约2小时22分钟)
  • 启动参数 :
    • -Djava.security.egd=file:/dev/./urandom:设置 Java 安全随机数生成器的熵源为 /dev/urandom,这可以加快随机数生成速度。
    • --spring.profiles.active=prod:激活 Spring 的 prod 配置文件。
进程 19994
sh 复制代码
root     19994 19954 92 15:40 pts/1    00:00:35 java -jar supporterSys.jar --spring.profiles.active=prod
  • 启动用户 :root
  • 父进程 ID :19954(表示这是从另一个进程启动的)
  • 启动时间 :15:40(当天的15:40)
  • 终端 :pts/1(表示这是一个交互式终端)
  • CPU 使用率 :92%(表示这个进程占用了大量的 CPU 资源)
  • 内存使用时间 :00:00:35(表示这个进程已经运行了大约35秒)
  • 启动参数 :
    • --spring.profiles.active=prod:激活 Spring 的 prod 配置文件。

2. 主要区别

  1. 启动时间:

    • 进程 1371 从9月5日开始运行,已经运行了较长时间。
    • 进程 19994 从当天的15:40开始运行,是一个较新的进程。
  2. 终端:

    • 进程 1371 是一个后台进程,没有关联到任何终端。
    • 进程 19994 是一个交互式终端进程,关联到 pts/1。
  3. CPU 使用率:

    • 进程 1371 的 CPU 使用率为 0%,表示它几乎不占用 CPU 资源。
    • 进程 19994 的 CPU 使用率为 92%,表示它占用了大量的 CPU 资源。
  4. 启动参数:

    • 进程 1371 额外设置了 -Djava.security.egd=file:/dev/./urandom 参数,用于优化随机数生成。
    • 进程 19994 没有设置这个参数。
  5. 父进程 ID:

    • 进程 1371 的父进程 ID 是 1,表示它是系统启动时的一个守护进程。
    • 进程 19994 的父进程 ID 是 19954,表示它是从另一个进程启动的。

3. 可能的原因

  1. 进程 1371 可能是一个长期运行的服务,启动时配置了优化参数,运行稳定,占用资源较少。
  2. 进程 19994 可能是一个最近手动启动的进程,可能因为某些原因(如代码问题、数据量大、任务密集等)导致 CPU 占用过高。

4. 建议

  1. 检查进程 19994 的日志:

    • 查看应用程序的日志文件,寻找可能导致高 CPU 使用率的原因。
    • 使用 top 或 htop 命令实时监控 CPU 使用情况。
  2. 比较两个进程的配置:

    • 确认两个进程的配置文件是否一致,特别是数据库连接、线程池配置等。
    • 检查是否有任务调度或定时任务在进程 19994 中执行,导致 CPU 占用高。
  3. 优化代码:

    • 如果发现代码中有性能瓶颈,考虑优化代码或调整配置。
  4. 停止不必要的进程:

    • 如果进程 19994 是一个重复启动的进程,可以考虑停止它,只保留一个稳定的进程。

通过这些步骤,您应该能够更好地理解这两个进程的区别,并解决可能存在的问题。如果您有任何其他问题或需要进一步的帮助,请告诉我!

相关推荐
倔强的石头10633 分钟前
【Linux指南】进程通信系列(二):匿名管道 —— pipe 的本质、fork 继承与四种读写规则
java·linux·运维
调试优选官39 分钟前
2026年IoT物联网开发赛道年度榜单深度解析:D-coding物联网系统定制与源码交付能力专项解读
java·物联网·struts·iot·开发经验
木井巳41 分钟前
【动态规划】三步问题
java·算法·leetcode·动态规划·推荐算法
小张成长计划..44 分钟前
【Linux】25:线程概念和控制
java·linux·jvm
蛋蛋的就会顺顺的10 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
需要82610 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
小 黄 鸡10 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
伯恩bourne12 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
silvamux_13 小时前
curl 测试 OpenAI 兼容 API 的完整流程
java·人工智能·缓存·ai·oneapi
省钱兄--zs13 小时前
深圳24小时自助健身房软硬件解决方案实战指南与开发流程详解
java·数据仓库·spring boot·小程序·架构