• 使用fuser命令kill一个终端(特殊文件)的方法


    /*********************************************************************
     * Author  : Samson
     * Date    : 11/04/2014
     * Test platform:
     *              3.13.0-24-generic
     *              GNU bash, 4.3.11(1)-release 
     * *******************************************************************/

    fuser: 显示使用特殊文件或文件系统的进程号并可选择是否进行kill,由于在GNU Linux中不论什么的文件或设备都看作是一个文件,所以这里说的特殊文件包含但不仅限于一个文件夹、一个打开的终端、一个打开的文件、一个共享库、一个进行了nmap的文件、一个正在读写的文件。


    以下就使用fuser进行kill一个终端的样例。
    在X-windows level下,在使用了ctrl+alt+F1后。进入了命令行模式的终端,在里面打开了emacs后,进行了ctrl+alt+F8切换回X-windows的操作,在这个时候使用w命令查看当前登录了的终端,例如以下:
    ufo@ufo:~$ w
     11:41:53 up 10 days, 22:46,  9 users,  load average: 0.41, 0.40, 0.44
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    ufo      tty1                      11:35    6:17   1.48s  1.11s emacs
    ufo      tty8     :0               2410月14 10days  6:42m  1.44s gnome-session --session cinnamon
    ufo      pts/0    :0               四15   37:37   0.81s  0.81s bash
    ufo      pts/1    :0               四16    4days  0.40s  0.40s bash
    ufo      pts/5    :0               四16   18:05m 24.21s  5.43s bash
    ufo      pts/6    :0               四16    4days  1.57s  1.57s bash
    ufo      pts/7    :0               一17    1.00s  1.23s  6:46  gnome-terminal
    ufo      pts/8    :0               四16    4days  1.21s  1.21s bash
    ufo      pts/9    :0               10:18    1:23m  0.12s  6:46  gnome-terminal

    能够看出tty1即是刚才打开emacs的那个终端,在这个时候想直接把它给关闭掉,那么肿么办喃?
    这个时候就能够使用强大的fuser命令了。使用此命令能够进行查看要关掉的终端当前的username及进程号:
    tty1相应的设备名为/dev/tty1
    ufo@ufo:~$ fuser -u /dev/tty1
    /dev/tty1:            8137(ufo)  8252(ufo)
    这时能够看到当前使用tty1的用户为ufo,

    那么怎样终止掉这个进程呢?
    使用例如以下命令就可以:
    ufo@ufo:~$ fuser -u /dev/tty1 -k
    /dev/tty1:            8137(ufo)  8252(ufo)
    再次使用w命令进行终端的查看:
    ufo@ufo:~$ w
     11:42:30 up 10 days, 22:47,  9 users,  load average: 0.23, 0.36, 0.43
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    ufo      tty8     :0               2410月14 10days  6:42m  1.44s gnome-session --session cinnamon
    ufo      pts/0    :0               四15   38:14   0.81s  0.81s bash
    ufo      pts/1    :0               四16    4days  0.40s  0.40s bash
    ufo      pts/5    :0               四16   18:05m 24.21s  5.43s bash
    ufo      pts/6    :0               四16    4days  1.57s  1.57s bash
    ufo      pts/7    :0               一17    6.00s  1.33s  6:47  gnome-terminal
    ufo      pts/8    :0               四16    4days  1.21s  1.21s bash
    ufo      pts/9    :0               10:18    1:23m  0.12s  6:47  gnome-terminal
    以上可看出已经将tty1进程终止了;

    至于其他的好玩的就仅仅有自己去man一下子。
  • 相关阅读:
    【原】React操作表单
    【原】使用webpack打包的后,公共请求路径的配置问题
    【原】React中,map出来的元素添加事件无法使用
    codeforces 1288C. Two Arrays(dp)
    Educational Codeforces Round 80 A-E简要题解
    HDU 2586 ( LCA/tarjan算法模板)
    POJ 1330(LCA/倍增法模板)
    POJ 3368 (ST表)
    POJ 3264 Balanced Lineup(ST模板)
    codeforces 1285E. Delete a Segment
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5278902.html
Copyright © 2020-2023  润新知