首页 > 编程语言 >nohup实现程序后台运行及查看(nohup与&)

nohup实现程序后台运行及查看(nohup与&)

时间:2023-10-22 11:13:23浏览次数:27  
标签:查看 jar server 命令 XX nohup 后台

一、后台执行

  • nohup:加在一个命令的最前面,表示不挂断的运行命令

  • &:加载一个命令的最后面,表示这个命令放在后台执行

二、查看后台运行的命令

  • jobs命令

1 [root@localhost test]# jobs
2 [1]- 运行中        nohup java -Dfile.encoding=UTF-8 -Dname=Runtime-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar test.jar $1 $2 $3 &(工作目录:/home/ams/ams-server/test)
3 [2]+ 运行中        nohup java -Dfile.encoding=UTF-8 -Dname=Container-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3 &

先后运行了两个后台运行的进程,使用jobs后都显示出来了。“+”代表最近的一个任务(当前任务),“-”代表之前的任务。

只有在当前命令行中使用 nohup和&时,jobs命令才能将它显示出来。如果将他们写到 .sh 脚本中,然后执行脚本,是显示不出来的。

  • ps命令

这个是查看进程常用的命令,不多说了。

    • 参数:

      • a: 显示所有程序

      • u: 以用户为主的格式来显示

      • x: 显示所有程序,不以终端机来区分

三、前后台进程切换与控制 

  • fg命令

    • 将后台中的命令调至前台继续运行

    • 如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。

  • Ctrl + z 命令

    • 将一个正在前台执行的命令放到后台,并且处于暂停状态

  • bg命令

    • 将一个在后台暂停的命令,变成在后台继续执行

    • 如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。

[root@localhost test]# jobs
[1]- 运行中        nohup java -Dfile.encoding=UTF-8 -Dname=Runtime-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar test.jar $1 $2 $3 &(工作目录:/home/test)
[2]+ 运行中        nohup java -Dfile.encoding=UTF-8 -Dname=Container-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3 &

 切换示例:

# 使用fg,将任务2调至前台运行
[root@localhost test]# fg 2
nohup java -Dfile.encoding=UTF-8 -Dname=Container-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3
^Z

# 使用ctrl+Z后,将任务2放置到后台,并暂停
[2]+ 已停止        nohup java -Dfile.encoding=UTF-8 -Dname=Container-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3

# 使用bg,激活任务2的运行
[root@localhost test]# bg 2
[2]+ nohup java -Dfile.encoding=UTF-8 -Dname=Container-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3 &

  

 

标签:查看,jar,server,命令,XX,nohup,后台
From: https://www.cnblogs.com/hj416/p/17780080.html

相关文章

  • 使用axum构建博客系统 - 后台管理菜单及首页模板
    目前,后台管理功能基本完成,但还有两个工作没做:清理后台管理的导航菜单以及后台管理首页的模板。后台管理菜单<!--templates/backend/base.html--><!--...--><divclass="container-fluid"><divclass="row"><navid="sidebarMenu"c......
  • 查看当前的git分支是基于哪个分支创建的
    比如我从branchA切出一个branchB然后在branchB做了一系列的操作后来忘记了branchB是从哪个分支切出来的这个时候怎么找到基于哪个分支创建的呢?在相应的目录打开命令窗口gitreflogshow分支名或gitreflog--date=local|grep分支名都可以如果分支是从sour......
  • Java 多线程例子2 前台线程(用户线程) 后台线程(守护线程 ) setDaemon
    1,setDaemon(true)后就是后台线程(守护线程),反之就是前台线程(用户线程)2,后台线程和前台线程的区别:在java程序中如果所以的前台线程都已经退出,所有的后台线程自动退出。TestThread为后台线程:publicclassThreadDemo{ publicstaticvoidmain(String[]args){ Threadt=newTes......
  • [Microsoft Azure] 如何查看 Azure Function的.NET SDK版本列表
    本文将介绍如何在MicrosoftAzure中查看和选择AzureFunction的.NETSDK版本列表,以便为您的项目选择合适的版本。在MicrosoftAzure中,AzureFunctions是一种用于在云端运行小型应用程序或功能的服务。它可以帮助我们在不需要管理基础设施的情况下快速构建和部署应用程......
  • [Microsoft Azure] 如何查看 Azure Function的.NET Runtime
    在本文中,我们将详细介绍如何在MicrosoftAzure中查看AzureFunction的.NETRuntime版本。了解如何找到所使用的.NET版本,确保您的Functions应用程序兼容并具有稳定性。在使用MicrosoftAzure的过程中,您可能会使用到AzureFunctions作为一个无服务器计算服务。而在......
  • 通过openwrt查看连接设备的IP,MAC地址,设备名
    前言openwrt开发中,我们经常要查看连接设备的情况,今天分享一下如何查看:作者:良知犹存转载授权以及围观:欢迎关注微信公众号:羽林君或者添加作者个人微信:become_me通过arp缓存列表/proc/net/arpcat /proc/net/arp在该文件中保存有IP地址,网络类型,ARP标志,MAC地址,网络掩码,和网......
  • 记一次在服务器上运行node.js程序时无法通过nohup xxx & 方式挂起的问题
       由于业务需求每天要在服务器上整理一组数据,为了方便就用node.js来写了。但是运行的时候发现了一个问题明明使用了nohupmain.js&的方式后台运行了程序但是一旦我关闭了shell控制台这个后台运行的程序也会跟着终止掉,不知道是什么原因,于是采用forever.js的方式来运行......
  • 查看显卡使用情况nvidia-smi报错:command not found
    辗转查看了很多教程,踩了好多坑,最后终于解决了,参考的相关博客会在后文做引用。我解决的办法:1、在root下重启机器,执行:reboot2、重启以后,执行:cd/usr/src/,然后ls,查看nvidia-xxx,xxx为支持的版本号;3、安装驱动,执行:sudoapt-getinstalldkmssudodkmsinstall-mnvidia-vxxx(xxx为......
  • Linux查看进程的CPU和内存使用情况
    ps-aux|grep"spring-native-hello"结果:chkusr106110.00.0131313253364pts/1Sl19:560:00./spring-native-hellochkusr131920.00.0112812972pts/1S+20:040:00grep--color=autospring-native-hello每列的含义:USER:这一......
  • [IDEA]查看一个类是在pom.xml的哪个dependency中被引入的
    ......