zoukankan      html  css  js  c++  java
  • 进程和网络

    who
    查看当前在线上的用户情况。所有的选项都是可选的,不使用任何选项时,who命令将
    显示以下三项内容:
    login name:登录用户名;
    terminal line:使用终端设备;
    login time:登录到系统的时间。
    itcast@ubuntu:~/demo$ who -uH
    名称 线路 时间 空闲 进程号 备注
    itcast tty2 2014-08-14 13:31 . 6798
    itcast tty7 2014-08-14 01:31 旧 2423     tty文字终端
    itcast pts/1 2014-08-14 01:31 12:00 2843 (:0)  pts图像化终端
    itcast pts/3 2014-08-14 10:39 . 2843 (:0)

    ctrl + alt + F1 - F6 切换到其他文字终端,按alt + F7 返回

    ps
    ps [选项]

    ps aux | grep ...
    ps命令用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输
    出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。选项部分如下:
    -e 显示所有进程。
    -f 全格式。
    -h 不显示标题。
    -l 长格式。
    -w 宽输出。
    -r 只显示正在运行的进程。
    -a:即all,查看当前系统所有用户的所有进程
    -u:查看进程所有者及其他一些详细信息
    -x:显示没有控制终端的进程

    这个命令参数有很多,但一般的用户只需掌握一些最常用的命令参数就可以了。 最常
    用的三个参数是u、a、x, 我们首先以root身份登录系统,查看当前进程状况
    itcast@ubuntu:~$ ps aux
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    root 1 0.0 0.0 3672 2008 ? Ss 08:46 0:01 /sbin/init
    itcast@ubuntu:~$ ps ajx
    PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
    4592 6948 6948 4592 pts/3 6948 R+ 1000 0:00 ps ajx
    itcast@ubuntu:~$ ps -Lf 2423
    UID PID PPID LWP C NLWP STIME TTY STAT TIME CMD

    1000 2423 2282 2423 0 4 08:46 ? Ssl 0:00 gnome-session --session=ubuntu
    1000 2423 2282 2465 0 4 08:46 ? Ssl 0:00 gnome-session --session=ubuntu
    1000 2423 2282 2466 0 4 08:46 ? Ssl 0:00 gnome-session --session=ubuntu
    1000 2423 2282 2468 0 4 08:46 ? Ssl 0:00 gnome-session --session=ubuntu


    Head标头:
    USER 用户名
    UID 用户ID(User ID)
    PID 进程ID(Process ID)
    PPID 父进程的进程ID(Parent Process id)
    SID 会话ID(Session id)
    %CPU 进程的cpu占用率
    %MEM 进程的内存占用率
    VSZ 进程所使用的虚存的大小(Virtual Size)
    RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
    TTY 与进程关联的终端(tty)
    STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
    R 运行 Runnable (on run queue) 正在运行或在运行队列中等待。
    S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。
    I 空闲 Idle

    Z 僵死 Zombie(a defunct process) 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调
    用后释放。
    D 不可中断
    Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中
    断发生。
    T 停止
    Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
    P 等待交换页
    W 无驻留页
    has no resident pages 没有足够的记忆体分页可分配。
    X 死掉的进程
    < 高优先级进程
    高优先序的进程
    N 低优先 级进程 低优先序的进程
    L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内


    s 进程的领导者(在它之下有子进程);
    l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
    + 位于后台的进程组
    START 进程启动时间和日期
    TIME 进程使用的总cpu时间

    COMMAND 正在执行的命令行命令
    NI 优先级(Nice)
    PRI 进程优先级编号(Priority)
    WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
    FLAGS 与进程相关的数字标识

    jobs
    用来显示当前shell 下正在运行哪些作业(即后台作业)。
    $ cat
    (按下Ctrl-z挂起当前进程)
    [1]+ Stopped cat
    $ cat
    (按下Ctrl-z挂起当前进程)
    [1]+ Stopped cat
    $ jobs
    [1]- Stopped cat
    [2]+ Stopped cat
    第一列方括号中的数字表示作业序号,它是由当前运行的shell 分配的,而不是由操作
    系统统一分配的。在当前shell 环境下,第一后台作业的作业号为1,第二作业的作业号为
    2,等等。第二列中的“+”号表示相应作业的优先级比“-”号对应作业的优先级高。第三
    列表明作业状态,是否为运行、中断、等待输入或停止等。最后列出的是创建当前这个作业
    所对应的命令行

    fg
    fg [job…]
    把指定的后台作业或挂起作业移到前台运行。 参数job是一个或多个进程的PID,或者
    是命令名称,或者是作业号(作业号前面要带一个%号)。
    36 第8章 进程管理
    通常在shell中输入命令启动进程后,如果该进程需要与用户交互,那么此后用户的键
    盘输入都被该进程读取,直到该进程退出后才出现shell提示符$,这种进程为前台进程。
    如果在命令行的末尾加上&字符,则shell为这个命令创建一个后台进程,它虽然也可以
    输出到屏幕,但是不能读取键盘输入,不管执行命令的进程有没有退出都立刻回到shell提
    示符接受下一条命令的输入。如果该进程也需要读取键盘输入,则被挂起等待直到用户用fg
    命令把它变成前台进程。如果一个命令需要较长的处理时间并且不需要与用户交互,就适合
    把它放在后台执行。
    8.5 bg
    bg [job…]
    把被挂起的进程提到后台执行。 其中,job是一个或多个进程的PID、命令名称或者作
    业号,在参数前要带%号。
    $ cat
    (按下Ctrl-z挂起当前进程)
    [1]+ Stopped cat
    $ bg %1
    [1]+ cat &
    $(再回车一次)
    [1]+ Stopped cat
    $ fg %1
    cat
    (按Ctrl-d输入文件结束符)
    $
    8.6 kill
    向指定进程发送信号
    kill [ -signal | -s signal ] pid ...
    8.7节 env 37
    查看信号编号
    kill -l [ signal ]
    给一个进程发信号,或终止一个进程的运行。
    $ cat
    (按Ctrl-z挂起当前进程)

    [1]+ Stopped cat
    $ ps PID TTY TIME CMD
    5819 pts/1 00:00:00 bash
    5893 pts/1 00:00:00 cat
    5894 pts/1 00:00:00 ps


    $ kill -SIGKILL 5893
    $(再次按回车键)
    [1]+ Killed cat
    $
    kill命令如果不带参数而直接跟pid,就是发给该进程SIGTERM信号,大部分进程收到该
    信号就会终止。但是被挂起的进程不能处理信号,所以必须发SIGKILL信号,由系统强制终
    止进程。
    8.7 env
    查看当前进程环境变量
    $env
    * vim /.bashrc
    配置当前用户环境变量
    * vim /etc/profile
    配置系统环境变量,配置时需要有root权限
    export PATH=$PATH:新路径
    8.8 top

  • 相关阅读:
    Linux Shell编程 sort、wc命令
    Linux Shell编程 sed命令
    Linux Shell编程 awk命令
    Linux Shell编程 cut、print命令
    Linux Shell基础 环境变量配置文件
    Linux Shell基础 read命令
    Linux Shell基础 位置参数变量、预定义变量
    MS DOS 命令大全
    sublime 快捷键
    滚动到页面底部继续加载页面其他内容
  • 原文地址:https://www.cnblogs.com/xiangtingshen/p/10392893.html
Copyright © 2011-2022 走看看