使用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一下子。
使用fuser命令kill一个终端(特殊文件)的方法的更多相关文章
- ETL应用:一种一次获取一个平台接口文件的方法
ETL应用场景中,若对端接口文件未能提供,任务会处于循环等待,直到对端提供为止,该方法极大的消耗了系统资源.为此想到了一种方法,一次获取一个平台的文件,实现思路如下: 1.第一次获取对端平台提供目录下 ...
- 【liunx命令】上传下载文件的方法
scp 帮助命令: man scp scp功能: 下载远程文件或者目录到本地, 如果想上传或者想下载目录,最好的办法是采用tar压缩一下,是最明智的选择. 从远程主机 下载东西到 本地电脑 ...
- scp命令在linux间传送文件的方法
当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码. 把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中 ...
- 通过ES6 封装了一个上传文件的方法 XMLHttpRequest() 通用
### 上传进度回显,上传速度回显 ### 源码如下,新建index.js装起来 export class UploadServers { constructor (options) { this.x ...
- Linux系统如何使用Fuser命令
本文不再更新,可能存在内容过时的情况,实时更新请访问原地址:Linux系统如何使用Fuser命令: 什么是Fuser命令? fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件.目 ...
- LOAD - 装载或重载一个共享库文件
SYNOPSIS LOAD 'filename' DESCRIPTION 描述 这个命令装载一个共享库文件到PostgreSQL服务器的地址空间. 一旦一个文件被装载,如果该文件前面曾经装载过,那么服 ...
- 用csc命令行手动编译cs文件
一般初学c#时,用记事本写代码,然后用命令行执行csc命令行可以编译cs文件.方法有两种 1:配置环境,一劳永逸 一般来说在C:\Windows\Microsoft.NET\Framework\v4. ...
- Linux下自动清理超过指定大小文件的方法
由于线上业务用的squid,根据经验值如果长时间运行则缓存目录下的swap.state会慢慢变大,一旦超过60M,squid的性能就会急剧下降,因此需要定时去清理大于60M的swap.state文件. ...
- VI一个终端编辑多个文件的命令
可分两种情况: 在不同窗口中打开多个文件: 如果已经打开一个了一个文件, 则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名, 如此就可以在一个窗口打开多个文件了. 可以使用 ...
随机推荐
- 使用SpringMVC参数传递时,解决get请求时中文乱码的问题
问题描述: 使用SpringMVC参数传递时, 遇到get请求中文信息时,页面应答会显示中文乱码. 解决办法: 一, 我们需要把request.getParameter(“参数名”)获取到的字符串先 ...
- csrf 攻击及防御
1.什么是CSRF攻击: CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:C ...
- List容器——ArrayList及常用API
List: ① List容器是有序的collection(也称为序列).此接口的用户可以对List容器中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜 ...
- iOS AFNetWorking中block执行完后再执行其它操作
需求:同时进行两次网络请求,网络请求是异步的,在网络请求成功后进行其它的操作.两个网络请求是这样,一个网络请求中block执行完之后,再进行其它操作,也是一样的原理,只是这时候不需要线程组了,只需要信 ...
- VK Cup 2016 - Qualification Round 1——A. Voting for Photos(queue+map)
A. Voting for Photos time limit per test 1 second memory limit per test 256 megabytes input standard ...
- [LOJ#526]「LibreOJ β Round #4」子集
[LOJ#526]「LibreOJ β Round #4」子集 试题描述 qmqmqm有一个长为 n 的数列 a1,a2,……,an,你需要选择集合{1,2,……,n}的一个子集,使得这个子集中任意两 ...
- Codeforces989E. A Trance of Nightfall
$n \leq 200$个平面上的点,$q \leq 200$次询问:重复操作$m \leq 10000$次,到达点$x$的概率最大是多少.操作:一开始选点$P$,不一定要是给定点,可以是平面上任一点 ...
- 43深入理解C指针之---指针与树
一.size_t:用于安全表示长度,所有平台和系统都会解析成自己对应的长度 1.定义:size_t类型表示C中任何对象所能表示的最大长度,是个无符号整数:常常定义在stdio.h或stdlib.h中 ...
- 算法 & 数据结构——收纳箱算法???
. 最近工作上有一个需求,需要将图片打包成图集,以便于让资源更紧凑,利用率更高,提升性能,游戏行内的同志应该很熟练这个操作.通常我们需要用一个app来完成这项工作,最出名的莫过于Texture Pac ...
- js-斐波那切数列
f(1) = 1; f(2) = 1; f(3) = f(1) + f(2) = 2; f(4) = f(3) + f(2) = 3; f(5) = f(4) + f(3) = 5; f(6) = f ...