首页 > 代码库 > 程序管理 && 工作管理

程序管理 && 工作管理

程序管理

概念

         程序program          以二进制程序放置在存储媒介中(硬盘、光盘、软盘、磁盘等),以物理文件的形式存在

         进程process            程序被触发后,执行者的权限与属性、程序的程序代码与所需数据都被加载到内存中,操作系统会给予这个内存内的一个单元标识符PID。进程,就是运行中的一个程序。

         服务daemon            在后台中一直持续运行的常驻进程称为服务

         fork and exec

                   fork复制父进程,然后将被复制出来的子进程以exec的方式执行,成为子进程

                  技术分享

 

工作管理

概念

         前台         可以出现提示符,可操作的环境。

         后台         不能与用户互动,放到终端机的后台只是不可被[ctrl]+c掉,如果断开远程连接,该工作依然会被停止

         脱机         即使断开远程连接,该工作依然不会停止

命令

         &

                   直接将命令丢到后台中执行

                   结束出现如下字眼

                            [1] + Done                          tar -zpcf /tmp.etc.tar.gz /etc

                   例

                            tar -zpcf /tmp/etc.tar.gz /etc &

                            tar -zpcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &
                                     stdout与stderr都输出到log.txt中

                            tar -zpcvf /tmp/etc.tar.gz /etc &> /tmp/log.txt &

                                     stdout与stderr都输出到log.txt中

         [ctrl]+z

                   将目前的工作房到后台中暂停

                   例

                            vim过程中,在一般模式下[ctrl]+z

                            find /过程中,[ctrl]+z

         jobs

                   查看目前的后台工作状态

                   job [-lrs]

                            l        除了列出job number与命令串,同时列出PID

                            r        仅列出正在后台run的工作

                            s       仅列出正在后台暂停stop的工作

                   +代表最近被放到后台的工作号码,-代表最后第二个被放置到后台的工作号码,第三个以后的工作,没有+/-号

         fg

                   将后台工作拿到前台来处理

                   fg %number

                            number    为jobs查出的工作号码,%可有可无

                   例

                            fg %1

         bg

                   让工作在后台下的状态由stop变成run

                   bg %number

                            number    为jobs查出的工作号码

         kill

                   管理前台、后台、脱机的工作

                   kill -signal %jobnumber|PID

                            signal        给予后面的工作一个什么指令

                                     1       重新读取一次参数配置文件,类似reload

                                     2       等同于键盘[ctrl]+c

                                     9       立刻强制删除一个工作

                                     15     正常的方式结束

                            %jobnumber|PID     kill一般跟PID,如果是工作管理,则必须有%

         killall

                   依据执行命令的名称(注:必须与ps aux的command名称一致)来给予信号管理前台、后台、脱机工作

                   killall [-iIe] -signal [command name]

                            i        交互式的,如果需要删除,出现提示符给用户

                            I        大写i,命令名称忽略大小写

                            e       exact,后面的command name要一致,但是整个命令不能超过15个字符

                   例

                            kill -9 httpd       <==不询问

                            killall -i -9 bash <==询问

         nohup

                   脱机或注销系统后,该工作依然可以运行。类似于at、cron

                   nohup [命令与参数]        <==在终端机前台中工作

                   nohup [命令与参数] &    <==在终端机后台中工作

                   注:nohup并不支持bash内置的命令,因此,命令必须是外部命令

                   例:

                            nohup sleep500.sh

                            nohup ./sleep500.sh &

程序管理 && 工作管理