• linux进程管理


    作为一个新手,部署Python网站的时候总会出各种各样的问题,这个时候我就很想知道是哪个程序没有运行。这几天读了鸟哥私房菜的进程管理这一章,还没读完,先做下笔记。

    什么是进程?

    一个程序被加载到内存中运行,在内存中的数据就被称为进程。在Linux下,所有的命令在执行时都会被系统定义为一个进程,这条命令会被分配一个ID,称为PID,执行这条命令的用户会被分配一个UID,系统根据UID来判别执行命令的权限。

    进程就是正在运行中的程序。

    子进程是父进程衍生出来的进程,用fork and exec的方式产生,PPID值与父进程PID值相同可以用ps -l来查看当前用户的所有进程。

    工作管理(job control)

    Linux下的工作管理很像windows的任务管理器。工作管理是将进程控制在前台或后台运行,后台运行的程序必须是与用户没有交互,换句话说不用等待输入的。出现提示符让你操作的环境称为前台(foreground),反之称为后台(background)

    可以在执行的命令后加上&把它丢到后台去执行,如

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

    终端里会显示出PID,如果有出错信息,会提示,可以看到命令提示符。

    CTRL+Z 与 CTRL+C

    CTRL+Z可以将进程暂停放到后台,进程是没有停止的!CTRL+C是停止当前的进程。被CTRL+Z放到后台暂停的进程,可以通过fgbg调整为运行状态。先查看一下当前后台工作状态:
    jobs [-lrs]

    • -l:列出命令及PID
    • -r:列出运行的进程(run)
    • -s:列出后台暂停的进程(stop)

    然后用fg %jobnumber可以调到前台('%'可有可无,jobnumber为任务编号,不是PID)或是用bg %jobnumber来在后台运行。

    kill

    kill -signal %jobnumber

    • signal:
    • -1:重新读取配置文件(类似reload)(左边是原文,不懂是干嘛的,如果明白烦请指点><)
    • -2:与键盘ctrl+c作用相同
    • -9:强制删除一个工作
    • -15:以正常方式结束一个工作

    脱机管理

    脱机管理是指当你用远程终端登陆服务器时,如果直接以&方式将任务放到后台掉线之后进程是不会继续执行的,可以用nohup来解决,如:

        nohup ./sleep500.sh &
    

    查看进程

    ps命令可以静态查看系统进程。

    • ps -l查看自己bash相关进程
    • ps aux查看系统所有进程,配合grep等管道命令用
  • 相关阅读:
    [背包]JZOJ 3232 【佛山市选2013】排列
    内核空间、用户空间、虚拟地址
    进程与线程的概念
    Python中字符串颜色
    socket编程
    模块与包
    常用模块
    面向对象进阶
    面向对象编程
    函数式编程
  • 原文地址:https://www.cnblogs.com/mrzero/p/3984508.html
Copyright © 2020-2023  润新知