nohup命令与&区别,jobs,fg,bg,Ctrl-Z、Ctrl-C、Ctrl-D
nohup命令:不挂起的意思( no hang up)。如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程.
nohup /root/start.sh &
从上面的ps的输出结果可以看出,有些程序没有控制终端,这些程序通常是一些后台进程。使用命令nohup当然可以启动这样的程序,但nohup启动的程序在进程执行完毕就退出,而常见的一些服务进程通常永久的运行在后台,不向屏幕输出结果。在Unix中这些永久的后台进程称为守护进程(daemon)。守护进程通常从系统启动时自动开始执行,系统关闭时才停止。如果偶然某个守护进程消失了,那么它提供的服务将不再能被使用。
在守护进程中,最重要的一个是超级守护进程inetd, 这个进程接管了大部分网络服务,但并不是对每个服务都自己进行处理,而是依据连接请求,启动不同的服务程序与客户机打交道。inetd支持网络服务种类在 它的设置文件/etc/inet.conf中定义。inet.conf文件中的每一行就对应一个端口地址,当inetd接受到连接这个端口的连接请求时, 就启动相应的进程进行处理。使用inetd的好处是系统不必启动很多守护进程,从而节约了系统资源,然而使用inetd启动守护进程相应反应会迟缓一些,不适合用于被密集访问的服务进程
nohup command和nohup command &
0. nohup 命令用于把命令放在系统后台来执行,关闭命令所在的控制台和注销所有的用户都不会有影响
例如:
nohup java -jar X.jar >/dev/null &
Linux下面Job Control的一些知识(包括jobs、bg、fg、kill命令的使用)
1.通过使用‘&’操作符让Job在后台运行(在后台就不会被ctrl+c中断,但是输出仍然会显示到屏幕上)
例如:
user@host:~$ cp /media/bigfile /home/user/Downloads/ &
[1] 3526
user@host:~$
用方括号括起来的数字,表示系统分配给这个Job的Job Number,这里'[1]'中的1,就是这个Job的Job Number。而后面一个比较大的数字,则是系统分配的进程ID。
2.使用jobs,来查看当前系统中的Job
user@host:~$ jobs
[1]- Running cp /media/bigfile /home/user/Downloads/ &
[2]+ Stopped cat
user@host:~$
这里‘Running’、‘Stopped’表示任务的状态。
语法:jobs [-p | -l] [-n] [-p] [-x] [job id]
参数:
-p | -l : Report the process group ID and working directory of the jobs.
-n : Display only jobs that have stopped or exited since last notified.
-p : Displays only the process IDs for the process group leaders of the selected jobs.
-x : Replace any job_id found in command or arguments with the corresponding
process group ID, and then execute command passing it arguments.
job id : The job id.
3.Suspend key 和 bg(将一个正在运行的job放到后台运行)
Suspend Key,通常是Ctrl-Z将该任务挂起(也就是暂停),然后使用‘bg’命令在后台让该job恢复执行。
user@host:~$ cp bigfile bigfile.bac
^Z
[1]+ Stopped cp bigfile bigfile.bac
user@host:~$ bg %1
[1]+ cp bigfile bigfile.bac &
user@host:~$
.使用fg命令,将在后台的job换到前台
user@host:~$ cp bigfile bigfile.bac &
[1] 3815
user@host:~$ fg 1
cp bigfile bigfile.bac
5.如何结束一个job
如果你想结束一个正在运行的job,可以使用中断键(interrupt key,通常是Ctrl-C)来结束。
user@host:~$ cp bigfile bigfile.bac
^C
user@host:~$
如果上面方法无法正常工作,那么你可以考虑使用Ctrl-Z(Suspend key)来暂停job,使用'jobs'命令来查看这个job的job number,然后通过'kill'命令来结束这个job.
user@host:~$ cp bigfile bigfile.bac
^Z
[1]+ Stopped cp bigfile bigfile.bac
user@host:~$ jobs
[1]+ Stopped cp bigfile bigfile.bac
user@host:~$ kill %1
user@host:~$
[1]+ Terminated cp bigfile bigfile.bac
'kill
%1'中的'%'告诉系统,后面的数字是一个job number。默认情况下,kill将会向程序发送一个termination
signal(-TERM)。如果这个信号不起作用,考虑使用'kill -kill %job number'来发送一个kill
signal(-KILL)。
'kill'命令的使用,就看man把,info也可以,这里不说了,上面东西太多。不过常用的也就'kill %job number'、'kill -kill %job number'、'kill [-kill] PID'。
Linux下Ctrl-Z、Ctrl-C、Ctrl-D的具体含义
Ctrl-Z:该键是linux下面默认的挂起键(Suspend
Key),当键入Ctrl-Z时,系统会将正在运行的程序挂起,然后放到后台,同时给出用户相关的job信息。此时,程序并没有真正的停止,用户可以通过
使用fg、bg命令将job恢复到暂停前的上下文环境,并继续执行。
Ctrl-C:该键是linux下面默认的中断键(Interrupt
Key),当键入Ctrl-C时,系统会发送一个中断信号给正在运行的程序和shell。具体的响应结果会根据程序的不同而不同。一些程序在收到这个信号
后,会立即结束并推出程序,一些程序可能会忽略这个中断信号,还有一些程序在接受到这个信号后,会采取一些其他的动作(Action)。当shell接受
到这个中断信号的时候,它会返回到提示界面,并等待下一个命令。
Ctrl-D:该键是Linux下面标准输入输出的EOF。在使用标准输入输出的设备中,遇到该符号,会认为读到了文件的末尾,因此结束输入或输出。
1.jobs 只限于某个控制台,控制台间彼此不通用,a控制台中的job ,在b控制台用jobs 看不到 ,但是用ps -aux 可以看到相应进程
2.job 不管是在前台还是在后台,也不管什么状态,其依赖于所在的控制台,关闭控制台后所有job 将不复存在(错! 用exit)
nohup命令与&区别,jobs,fg,bg,Ctrl-Z、Ctrl-C、Ctrl-D的更多相关文章
- Linux命令-工作管理命令:&,ctrl+z,jobs,fg,bg
在linux下面将一个进程放入后台执行,有两种方式: 第一种方式:&表示命令在后台执行程序,等同于windows里面的程序最小化. 第二种方式:执行某一个命令,例如:top,然后按ctrl+z ...
- Linux下&/jobs/fg/bg命令的使用(转)
一.& 这个用在一个命令的最后,可以把这个命令放到后台执行. 二.[Ctrl]+[Z] 可以将一个正在前台执行的命令放到后台,并且暂停. 三.jobs 查看当前有多少在后台运行的命令. 四.f ...
- c++中while(cin>>str)和ctrl z的相关问题探讨
对于while (cin>>str)和ctrl z的问题,网上有以下解释: -------------------------------------------------------- ...
- 关于按下ctrl+z后,之后的cin失效的问题
下面这代码按下Ctrl+z结束while输入后,接下来的cin >> val2就无法输入了 #include <iostream> #include <vector> ...
- fg、bg、jobs、&、nohup、ctrl + z命令
fg.bg.jobs.&.nohup.ctrl + z命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如gftp &, 二.ctrl + z 可以将一个正在前台执 ...
- fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令
fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh &am ...
- Linux工作管理 jobs、fg、bg、nohup命令
概述 在Linux 中我们登陆了一个终端,已经在执行一个操作,可以通过一定的操作或命令在不关闭当前操作的情况下执行其他操作. 例如,我在当前终端正在 vi 一个文件,在不停止 vi 的情况下,如果我想 ...
- linux fg bg ctrl + z jobs & 等命令
fg.bg.jobs.&.ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一.& 最经常被用到这个用在一个命令的最后,可以把这个命令放到 ...
- Linux Ctrl+z bg fg jobs命令使用
一.暂停前台运行时间长的程序 使用Ctrl + z然后可以看到系统提示: []+ Stopped /home/test/demo.sh 二.bg命令 将程序放到后台处理 bg %jobnumber ...
随机推荐
- JavaEE Tutorials (3) - 企业bean
3.1什么是企业bean383.1.1企业bean的好处393.1.2何时使用企业bean393.1.3企业bean类型393.2什么是会话bean393.2.1会话bean类型403.2.2何时使用 ...
- 【Android UI】色板
Hex Code Color #FFFFFF #FFFFCC #FFFF99 #FFFF66 #FFFF33 #FFFF00 #FFCCFF #FFCCCC #FFCC ...
- Sqlite ContentProvider Loader 上下文 对话框
一.整体工程图 二.activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/re ...
- Unity3D 4.x 使用Mecanim实现动画控制
Unity3D 4.x 版本号之后提供了一种新的动画机制Mecanim,尽管眼下还支持之前的Animation.但看到Unity3D 4.3 预览版里Sprite的动画也是基于Animator的,可知 ...
- Android之Camera控制拍照
package com.android.xiong.cameratest; import java.io.File; import java.io.FileOutputStream; import j ...
- iOS开发中xib和Storyboard中需要注意的事项
使用xib注意事项: 1.只有自带view的控件才可以使用xib,因为它本身就是一个view 2.在使用可视化控件添加属性(代码)时候,如果删除了属性代码,一定要在xib上解除关联(不然会崩溃) 3. ...
- TOMCAT的域名配置
链接地址:http://blog.163.com/skk1987@126/blog/static/29303413201051383548377/ 现在很多的公司的网站都是用tomcat作为应用服务区 ...
- BZOJ 3036: 绿豆蛙的归宿( 期望dp )
从终点往起点倒推 . 在一个图 考虑点 u , 出度为 s : s = 0 , d[ u ] = 0 ; s ≠ 0 , 则 d( u ) = ( ∑ d( v ) ) / s ( ( u , v ) ...
- Java中的位运算符、移位运算
一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&) :两位全为1,结果为1,否则为0: (2)按位或 (|) :两位有一个为1,结果为1,否则为0: (3) ...
- Chrome 快捷键
chrome窗口和标签页快捷键: Ctrl+N 打开新窗口 Ctrl+T 打开新标签页 Ctrl+Shift+N 在隐身模式下打开新窗口 Ctrl+O,然后选择文件 在谷歌浏览器中打开计算机上的文件 ...