(1) &命令
当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。
该命令的一般形式为:
命令&
为什么要在后台执行命令?因为当在后台执行命令时,可以继续使用你的终端做其他事
情。适合在后台运行的命令有find、费时的打印作业、费时的排序及一些shell脚本。在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。
不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:
command >out.file 2>&1 &
在上面的例子中,所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。
1.1 向后台提交命令
现在我们运行一个find命令,查找名为“srm.conf”的文件,并把所有标准输出和错误输出重定向到一个叫作find.dt的文件中:
$ find /etc -name “srm.conf”- print > find.dt 2>&1 &
[1] 27015
在上面的例子中,在我们成功提交该命令之后,系统给出了它的进程号27015。
当该作业完成时,按任意键(一般是回车键)就会出现一个提示:
[1] + Done find /etc “srm.conf” -print
这里还有另外一个例子,有一个叫做ps1的脚本,它能够截断和清除所有的日志文件,我把它放到后台去执行:
$ ps1 &
[2] 28535
1.2 用ps命令查看进程
当一个命令在后台执行的时候,可以用提交命令时所得到的进程号来监控它的运行。在前面的例子中,我们可以按照提交ps1时得到的进程号,用ps命令和grep命令列出这个进程:
$ ps x | grep 28305
28305 p1 s 0:00 sh /root/ps1
28305 p1 s 0:00 grep 28305
如果系统不支持ps x命令,可以用:
$ ps -ef | grep 28305
root 28305 21808 0 10:24:39 pts/2 0:00 sh ps1
root 21356 21808 1 10:24:46 pts/2 0:00 grep 28305
记住,在用ps命令列出进程时,它无法确定该进程是运行在前台还是后台。
1.3 杀死后台进程
如果想杀死后台进程可以使用kill命令。当一个进程被放到后台运行时,shell会给出一个进程号,我们可以根据这个进程号,用kill命令杀死该进程。该命令的基本形式为:
kill -signal [process_number]
现在暂且不要考虑其中的各种不同信号;我们会在后面的章节对这一问题进行介绍。在杀进程的时候,执行下面的命令(你的进程号可能会不同)并按回车键。系统将会给出相应的信息告诉用户进程已经被杀死。
$ kill 28305
[1] + Terminated ps1
如果系统没有给出任何信息,告诉你进程已经被杀死,那么不妨等一会儿,也许系统正在杀该进程,如果还没有回应,就再执行另外一个kill命令,这次带上一个信号选项:
$ kill -9 28305
[1] + Killed ps1 &
如果用上述方法提交了一个后台进程,那么在退出时该进程将会被终止。为了使后台进程能够在退出后继续运行,可以使用nohup命令,下面我们就介绍这一命令。
--使用加后缀 & ,不占用客户端屏幕,但是会立即执行,如何定时执行呢?
相关推荐
例如,要将命令`command`放到后台运行,只需在末尾加上`&`,像这样:`command &`。执行此命令后,shell会立即返回提示符,而命令则会在后台继续执行。 在后台运行的进程不会占用shell,因此你可以在同一终端窗口中...
- **功能描述**:将命令放到后台执行。 - **示例**:`firefox &` 在后台打开Firefox浏览器。 ##### 3. 强制关闭X-Window:`Ctrl+Alt+Backspace` - **功能描述**:用于强制关闭X-Window图形界面。 ##### 4. 获取...
- **功能**:将命令放入后台执行。 **3. 强制关闭图形界面:`Ctrl+Alt+Backspace`** - **功能**:强制关闭图形界面。 **4. 获取帮助文档** - `--help`:显示命令的帮助信息。 - `man 命令`:显示命令的手册页...
- 将当前正在执行的`cat`命令暂停,并将其挂起到后台。 ##### 3. 输入`jobs`命令,查看作业: - **命令**: `jobs` - 显示所有后台作业的状态,包括已挂起的`cat`命令。 ##### 4. 输入`bg`,把`cat`切换到后台...
然后可以使用bg命令让作业在后台继续运行,使用fg命令将挂起的作业重新放到前台执行。这些命令对于管理长时间运行的作业或者需要同时运行多个任务的情况非常有用。 jobs命令用于列出当前终端上所有的作业。使用jobs...
`bg`可以将挂起的作业放到后台继续运行,而`fg`则将后台作业带到前台。 总的来说,Linux进程管理和作业任务的掌握对于日常的系统维护和问题排查至关重要,理解并熟练运用这些工具和技巧,能够更有效地管理和优化...
- **输出管理**:默认情况下,使用`nohup`命令执行的任务输出会被重定向到一个名为`nohup.out`的文件中。若不想创建该文件,可以通过追加输出重定向来避免: ``` nohup java -jar shareniu.jar > /dev/null 2>&1 &...
`bg`和`fg`命令分别用于将后台进程放到前台和将前台进程放到后台。`jobs`命令可以列出当前shell会话中的作业,而`kill`命令用于向进程发送信号以结束进程,`limit`则用于设置进程资源限制。 了解这些基础知识对于...
前台进程直接接收用户输入并控制终端,而后台进程则不会占用终端,允许用户执行其他任务。使用`&`符号可以在命令末尾将命令放入后台执行。例如,`command &`会在后台启动command。 3. **守护进程**: 守护进程是...
`fg`命令用于将后台作业调至前台继续执行,`bg`则将其放入后台继续执行。 #### 52. `kill` `kill`命令用于发送信号给进程,如`kill -9 PID`强行终止进程。 #### 53. `ps` `ps`命令用于显示当前系统中运行的进程...
- **功能**:将程序放到后台运行。 3. **强行退出X-Window程序** `Ctrl+Alt+Backspace` - **功能**:强制关闭当前的X-Window会话。 4. **查看帮助** - **简明帮助** `命令名 --help | less` - **功能**...
8. **bg**:将作业放到后台运行,使用户可以继续其他操作。 9. **break**:在Shell脚本中,用于跳出for、while或until循环。 10. **c99**:C语言编译器,遵循C99标准,用于编译C语言源代码。 11. **cal**:输出...
`&`符号用于将命令放入后台执行,`bg`命令用于将暂停的后台进程恢复,`fg`命令用于将后台进程调至前台,`jobs`显示当前会话中的后台任务,`kill`发送信号结束进程,`ps`显示进程状态,`top`提供实时的系统资源使用...
- **功能**: `bg` 命令用于将作业放入后台继续运行。 - **示例**: `bg %1` 将作业 1 放入后台运行。 #### 41. **fg** - 将作业移到前台运行 - **功能**: `fg` 命令用于将作业移到前台运行。 - **示例**: `fg %2...
当你将某个进程放到后台运行后,如果想要回到该进程并直接控制它,可以使用`fg`命令。 3. **less xxxx.log** - `less`命令是一个文本查看器,它可以用来查看大文件的内容,而不会像`cat`命令那样一次性显示所有内容...
8. `bg`: 将命令放到后台运行,让当前终端窗口可以继续执行其他任务。 9. `break`: 在循环中退出,结束当前循环的执行。 10. `builtin`: 运行Shell内置命令,这些命令通常比外部命令执行速度更快。 11. `bzip2`: ...
通过jobs命令可以查看在后台运行的任务,fg命令可以将后台任务调至前台继续执行,而bg命令则用于将暂停的后台任务放到后台继续运行。 任务调度方面,Linux提供了at和cron两种服务。at命令允许用户安排一次性任务在...
- **解释**: 将程序放到后台运行,即使退出登录也不会终止程序。 **48. 详细显示程序的运行信息** - **命令**: `strace -f -F -o outfile` - **解释**: 使用`strace`跟踪程序的所有系统调用,输出结果保存到文件...
- **基本用法**: `du` 命令用于估算每个文件和目录占用的磁盘空间。 - **格式**: `du [options] [file]` - **选项**: - `-h`: 以人类易读的格式显示结果。 - **示例**: `du -h .` #### 21. find - 文件查找 - **...