肥涵

导航

linux -6 进程管理

1、linux 里面的进程

  shell 就是一个进程

    查看进程的命令:ps

    

 

 

  进程ID(PID)

    操作系统用数字来标识进程

    ps 命令显示进程的id

2、进程的创建

  进程是由另一个进程创建的

     a、第一个进程init,进程ID 为1

     b、比如shell (很多进程的父进程): ps -f 可以看到

     c、创建者:父进程  对应PPID

     d、被创建者:子进程  对应PID

    

 

      e、如果父进程死了,init变成子进程的父进程

      f、进程的创建方法,系统调用fork,exec

3、ps 命令查看进程

  a、 不带任何参数----同一个用户同一个终端

  b、-ef 参数 -----e表示所有,f表示full-format,尤其是PPID 和 command 内容

  c、axu 参数-----ax 表示所有,u 表示user-oriented

  d、经常和管道符连用---- ps -ef | grep java

4、后台运行进程

  前台进程和后台进程

    a、shell 里正在执行的和用户进行交互的进程叫前台进程

    b、举例:ps、ls 为前台进程,时间短

    c、有的命令执行时间长,比如备份程序,则可在后台执行

      命令 &

    d、后台运行的进程我们叫后台进程,或者后台任务

  后台运行进程:nohup 与后台进程

    示例:没有 nohup 直接关闭,会关闭远程连接,进程会退出

       原因:有的shell会发送SIGHUP信号给子进程

        nohup python run.py &  ----后台运行

5、进程前、后台切换

  a、列出后台进程--- jobs

  b、将后台进程调到前台----fg<num> ,num为jobs 分配的id

  c、ctrl +z  可挂起进程,注意jobs 的显示状态是是stopped

  d、bg 可让进程在后台执行

6、终止进程

  进程的两种终止方式

    a、自行终止

      任务执行完成,如 ps

      用户让其退出,如 shell exit

         异常退出,如 程序里有除以0的代码

    b、手动杀死进程

      kill PID     SIGTERM (告诉系统自行终止)

      kill -9 PID  SIGKILL (强制终止)

      ctrl +c       SIGINT        (前台运行终止)

      只能是owner 和 root 才能杀死进程

 

posted on 2020-12-15 22:07  肥涵  阅读(71)  评论(0编辑  收藏  举报