/*********************************************************************
 * 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一下子。

使用fuser命令kill一个终端(特殊文件)的方法的更多相关文章

  1. ETL应用:一种一次获取一个平台接口文件的方法

    ETL应用场景中,若对端接口文件未能提供,任务会处于循环等待,直到对端提供为止,该方法极大的消耗了系统资源.为此想到了一种方法,一次获取一个平台的文件,实现思路如下: 1.第一次获取对端平台提供目录下 ...

  2. 【liunx命令】上传下载文件的方法

    scp   帮助命令: man scp   scp功能: 下载远程文件或者目录到本地, 如果想上传或者想下载目录,最好的办法是采用tar压缩一下,是最明智的选择.   从远程主机 下载东西到 本地电脑 ...

  3. scp命令在linux间传送文件的方法

    当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码. 把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中  ...

  4. 通过ES6 封装了一个上传文件的方法 XMLHttpRequest() 通用

    ### 上传进度回显,上传速度回显 ### 源码如下,新建index.js装起来 export class UploadServers { constructor (options) { this.x ...

  5. Linux系统如何使用Fuser命令

    本文不再更新,可能存在内容过时的情况,实时更新请访问原地址:Linux系统如何使用Fuser命令: 什么是Fuser命令? fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件.目 ...

  6. LOAD - 装载或重载一个共享库文件

    SYNOPSIS LOAD 'filename' DESCRIPTION 描述 这个命令装载一个共享库文件到PostgreSQL服务器的地址空间. 一旦一个文件被装载,如果该文件前面曾经装载过,那么服 ...

  7. 用csc命令行手动编译cs文件

    一般初学c#时,用记事本写代码,然后用命令行执行csc命令行可以编译cs文件.方法有两种 1:配置环境,一劳永逸 一般来说在C:\Windows\Microsoft.NET\Framework\v4. ...

  8. Linux下自动清理超过指定大小文件的方法

    由于线上业务用的squid,根据经验值如果长时间运行则缓存目录下的swap.state会慢慢变大,一旦超过60M,squid的性能就会急剧下降,因此需要定时去清理大于60M的swap.state文件. ...

  9. VI一个终端编辑多个文件的命令

      可分两种情况: 在不同窗口中打开多个文件:   如果已经打开一个了一个文件, 则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名, 如此就可以在一个窗口打开多个文件了.   可以使用 ...

随机推荐

  1. linux下 export只能设定临时变量

    今天在调用ABBYY API的时候,需要传递APPID和APPPASSWD给系统环境才能够执行相应的python调用代码. 设置之后,因为写代码自己关掉了terminal,后面直接运行报错,访问权限不 ...

  2. [译]pycache是什么?

    原回答: https://stackoverflow.com/questions/16869024/what-is-pycache 当你用python运行一个程序时,解释器首先将它编译成字节码(这是一 ...

  3. Python Mysql学习总结

    任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了.MySQLdb就是python对mysql数据库操作的模块.官方Introduction : MyS ...

  4. MacPorts的安装和使用

    1.安装 MacPorts的官方网站:http://www.macports.org/install.php 有dmg安装和源代码安装两种方式,下载dmg格式一步步安装即可 2.使用 更新ports ...

  5. 【Luogu】P2254瑰丽华尔兹(堆优化DP)

    题目链接 我也不知道为什么脑子一抽就想了个堆优化……然后贼慢…… 因为上午听不懂wys的电音专场(快速傅立叶变换),然后就做了这么一道题. 首先朴素DP很sb都能秒出.就是枚举时刻.位置(两维)然后转 ...

  6. 【Luogu】P2473奖励关(期望DP)

    题目链接 逆推期望DP.设f[i][j]为1~i-1中吃到的宝物集合为j,在i~k轮能得到的最大期望分数. 如果不吃显然f[i][j]+=f[i+1][j]/n 如果吃就是f[i][j]+=max(f ...

  7. NOI2016 区间 【线段树】

    题目 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就是使得存在一个 x,使得对于每一个被 ...

  8. Python Base Four

    35. In python, file operation syntax is similar to c. open(file,'r',……) //the first parameters is ne ...

  9. HYSBZ 1026: windy数(数位DP)

    类型:数位DP题意:不含前导零且相邻两个数字之差至少为2的正整数被称为windy数.问[A,B]之间windy数的个数.(1 <= A <= B <= 2000000000 ) 思路 ...

  10. SpringMVC (<context:include-filter>和<context:exclude-filter>的使用)

    eg: 1.现在给定一个项目包的结构: com.yk.controller com.yk.service 2.在SpringMVC.XML有以下的配置: <!--扫描@controller注解- ...