网站安全漏洞扫描工具,网页图片下载,国外云服务器推荐,中国电子政务网站建设意见Linux nohup实现后台运行程序及查看#xff08;nohup与#xff09;
更新时间#xff1a;2019年09月11日 09:28:40 作者#xff1a;猿的生活
这篇文章主要介绍了Linux nohup实现后台运行程序及查看#xff08;nohup与#xff09;#xff0c;文中通过示例代码…Linux nohup实现后台运行程序及查看nohup与
更新时间2019年09月11日 09:28:40 作者猿的生活
这篇文章主要介绍了Linux nohup实现后台运行程序及查看nohup与文中通过示例代码介绍的非常详细对大家的学习或者工作具有一定的参考学习价值需要的朋友们下面随着小编来一起学习学习吧
1. 后台执行
一般运行linux上的程序都是执行 .sh 文件./sh文件那如果不影响当前CMD窗口的操作需要后台运行怎么办呢
这时就需要借助 nohup 和 命令来实现。
nohup java -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -jar test.jar $1 $2 $3 (1) nohup
加在一个命令的最前面表示不挂断的运行命令
(2)
加载一个命令的最后面表示这个命令放在后台执行
2. 查看后台运行的命令
有两个命令可以来查看ps 和 jobs。区别在于 jobs 只能查看当前终端后台执行的任务换了终端就看不见了。而ps命令适用于查看瞬时进程的动态可以看到别的终端的任务。
(1) jobs
[rootlocalhost test]# jobs
[1]- 运行中 nohup java -Dfile.encodingUTF-8 -DnameRuntime-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test.jar $1 $2 $3 (工作目录/home/ams/ams-server/test)
[2] 运行中 nohup java -Dfile.encodingUTF-8 -DnameContainer-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3 先后起了两个后台运行的进程使用jobs后都显示出来了。“”代表最近的一个任务当前任务“-”代表之前的任务。
只有在当前命令行中使用 nohup和 时jobs命令才能将它显示出来。如果将他们写到 .sh 脚本中然后执行脚本是显示不出来的
比如执行下面这个脚本后jobs显示不出来
#!/bin/bash
nohup java -Dfile.encodingUTF-8 -DnameRuntime-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test.jar $1 $2 $3 (2) ps命令
[rootlocalhost test]# ps -aux|grep java
root 21219 0.3 3.9 6258172 148900 pts/0 Sl 10:08 0:02 java -Dfile.encodingUTF-8 -DnameRuntime-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test.jar
root 21662 0.2 3.0 5041008 116648 pts/0 Sl 10:10 0:01 java -Dfile.encodingUTF-8 -DnameContainer-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test1.jar
root 23761 0.0 0.0 112664 972 pts/0 S 10:19 0:00 grep --colorauto java这个是查看进程常用的命令不多说了。
a: 显示所有程序 u: 以用户为主的格式来显示 x: 显示所有程序不以终端机来区分
3. 关闭当前后台运行的程序
kill 命令
1通过jobs命令查看jobnum然后执行 kill %jobnum
2通过ps命令查看进程号PID然后执行 kill %PID
如果是前台进程的话直接执行 Ctrlc 就可以终止了
4. 前后台进程的切换与控制
1fg命令
将后台中的命令调至前台继续运行
如果后台中有多个命令可以先用jobs查看jobnun然后用 fg %jobnum 将选中的命令调出。
2Ctrl z 命令
将一个正在前台执行的命令放到后台并且处于暂停状态
3bg命令
将一个在后台暂停的命令变成在后台继续执行
如果后台中有多个命令可以先用jobs查看jobnum然后用 bg %jobnum 将选中的命令调出继续执行。
[rootlocalhost test]# jobs
[1]- 运行中 nohup java -Dfile.encodingUTF-8 -DnameRuntime-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test.jar $1 $2 $3 (工作目录/home/test)
[2] 运行中 nohup java -Dfile.encodingUTF-8 -DnameContainer-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3 // 使用fg 后将任务2调至前台运行
[rootlocalhost test]# fg 2
nohup java -Dfile.encodingUTF-8 -DnameContainer-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3^Z
// 使用ctrlZ后将任务2放置到后台并暂停
[2] 已停止 nohup java -Dfile.encodingUTF-8 -DnameContainer-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3// 使用bg 后激活任务2的运行
[rootlocalhost test]# bg 2
[2] nohup java -Dfile.encodingUTF-8 -DnameContainer-Name -server -Xms128M -Xmx512M -XX:MetaspaceSize128M -XX:MaxMetaspaceSize256M -XX:HeapDumpOnOutOfMemoryError -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSClassUnloadingEnabled -jar test1.jar $1 $2 $3