`
skyishuman
  • 浏览: 58526 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux前后台进程切换

阅读更多
Linux 前后台进程切换
当你用shell启动一个程序时,往往他是在前台工作的。 例如经常用PUTTY连接到远程服务器执行脚本的时候,如果本地网络中断后,这个时候前台进程就结束了,比较的懊恼,必须重新执行。因此有必要进行前后台进程的切换。
例如直接在终端里输入firefox,那么会打开firefox,但当你关闭此终端或者ctrl+c强制终止时,firefox也随机关闭了。你可以在执行时后面加一个&,这样就在后台工作了。
Shell支持作用控制,有以下命令:
1. command  & 让进程在后台运行
2. jobs –l 查看后台运行的进程
3. fg %n 让后台运行的进程n到前台来
4. bg %n 让进程n到后台去;

PS:"n"为jobs查看到的进程编号。
1、执行命令&切换至后台
在Linux终端运行命令的时候,在命令末尾加上 & 符号,就可以让程序在后台运行
root@Ubuntu$ ./tcpserv01&
2、切换正在运行的程序到后台
如果程序正在前台运行,可以使用 Ctrl+z 选项把程序暂停,然后用 bg %[number] 命令把这个程序放到后台运行,这个步骤分为3步,如下:
2.1 暂停程序运行CTRL+Z
ctrl + z跟系统任务有关的,ctrl + z可以将一个正在前台执行的命令放到后台,并且暂停。
[oracle@isgis121 ~]$ sh ins.sh
^Z
[1]+ Stopped                 ins.sh
2.2 查看暂停的程序
察看jobs使用jobs或ps命令可以察看正在执行的jobs。
[oracle@isgis121 ~]$ jobs -l
[1]+  4524 Stopped            ins.sh
jobs命令执行的结果,+表示是一个当前的作业,减号表是是当前作业之后的一个作业。
jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated
2.3 切换程序至后台
bg将一个在后台暂停的命令,变成继续执行如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出.
[oracle@isgis121 ~]$ bg %1
[oracle@isgis121 ~]$ jobs -l
[1]+  4524 Running           ins.sh
2.4 切换程序至前台
也可以用 fg %[number] 指令把一个程序掉到前台运行
[oracle@isgis121 ~]$ fg %1
./tcpserv01
2.5 终止后台程序
也可以直接终止后台运行的程序,使用 kill 命令
[oracle@isgis121 ~]$ kill %1
但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息。
分享到:
评论

相关推荐

    linux 进程前后台切换命令

    两种切换进程到后台的命令。包括切换到前台,查看任务的命令。

    linux集群应用实战

    asm的体系结构与后台进程 管理asm实例 asmcmd命令的使用 第41-42讲 使用srvctl管理rac数据库 课程目标: 熟练掌握通过srvctl管理rac数据库的方法和技巧 通过srvctl查看rac数据库实例状态 通过srvctl查看rac数据库...

    入门学习Linux常用必会60个命令实例详解doc/txt

    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    13.6.2 ASM的体系结构与后台进程 13.6.3 管理ASM实例 13.7 利用srvctl管理RAC数据库 13.7.1 查看实例状态(srvctl status) 13.7.2 查看RAC数据库配置信息(srvctl config) 13.7.3 启动 13.7.4 增加 ...

    Linux命令笔记

    1:把进程放入后台(&,ctrl+z) 2:查看后台的工作 语法:jobs [选项] 3:将后台暂停的工作恢复到前台执行 语法:fg %工作号 4:把后台暂停的工作恢复到后台执行 语法:bg %工作号 系统管理/进程管理 1:进程查看 2:...

    一个进程池的服务器程序

    //转为后台程序,如需打印调试,把这行注释掉 if (write_pid() ) //避免同时有多个该程序在运行 return -1; if (pipe(fd1) ) { perror("pipe failed"); exit(-1); } if (s_pipe(fd2) ) { perror("pipe ...

    Linux简明教程.rar

    二、安装前的知识介绍------------------------------------------------------------------------------ 1.Linux 文件格式简介 2.推荐分区方法 三、安装方法的介绍--------------------------------------------...

    ecapre:基于ecasound的高保真前置放大器

    黑匣子设计,所有这些都是作为后台进程运行的。 前置放大器控制的命令行或网页。 该项目旨在在Mac OS上运行,当然也可以在Linux计算机上运行。 要获得更精确,灵活和强大的音频系统,包括FIR滤波,有源扬声器切换器...

    新版Android开发教程.rar

    • Linux (tested on Linux Ubuntu Dapper Drake) Supported Supported Supported Supported Development Development Development Development Environments Environments Environments Environments Eclipse IDE o...

    orcale常用命令

    读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。 2、startup mount dbname 安装启动,这种方式启动下可执行: 数据库日志归档、 数据库介质恢复、 使数据文件联机或脱机, ...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    3.3.2后台进程 3.4 Clusterware隔离机制 3.4.1 Clusterware心跳 3.4.2 Clusterware隔离特性IPMI 3.4.3 RAC隔离体系 3.5网格即插即用 3.5.1 GPnP结构 3.5.2 GPnP profile文件 3.5.3 mDNS服务 3.6日志体系 ...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    器的进程中将该进程结束,而后再次运行就没问题了,当然先关闭Qt Creator, 而后再重新打开,这样也能解决问题。 如果把程序改为这样: #include #include "widget.h" #include "mydlg.h" int main(int argc, char ...

Global site tag (gtag.js) - Google Analytics