仓酷云

标题: 来一发CentOS6下办理光盘没法加入 [打印本页]

作者: 逍遥一派    时间: 2015-1-14 20:19
标题: 来一发CentOS6下办理光盘没法加入
欢迎大家来到仓酷云论坛!1、简介

  当您想加入光盘时,须利用umout下令,不然光驱就会一向处于逝世锁形态,#umount/dev/sr0,大概间接加入光盘#eject。但当光盘正在被翻开大概利用,利用上述下令都没法乐成提醒deviceisbusy,这时候就必要利用lsof或fuser下令了(不想懂得下令参数的具体,可间接检察前面的加入光盘操纵)。


2、详解



1、lsof下令

lsof(listopenfiles)是一个列出以后体系翻开文件的工具,在linux情况下,任何事物都以文件的情势存在,经由过程文件不单单能够会见惯例数据,还能够会见收集毗连和硬件。以是如传输把持协定(TCP)和用户数据报协定(UDP)套接字等,体系在背景都为该使用步伐分派了一个文件形貌符,不管这个文件的实质怎样,该文件形貌符为使用步伐与基本操纵体系之间的交互供应了通用接口。由于使用步伐翻开文件的形貌符列表供应了大批关于这个使用步伐自己的信息,因而经由过程lsof工具可以检察这个列表对体系监测和排错将是很有匡助的。
(1)下令格局:
lsof[参数][文件]
(2)下令功效:
用于检察你历程开打的文件,翻开文件的历程,历程翻开的端口(TCP、UDP)。找回/规复删除的文件。是非常便利的体系监督工具,由于lsof必要会见中心内存和各类文件,以是必要root用户实行。
lsof翻开的文件能够是:一般文件、目次、收集文件体系的文件、字符或装备文件、(函数)同享库、管道和定名管道、标记链接、收集文件(比方:NFSfile、收集socket,unix域名socket),另有别的范例的文件等等。
(3)下令参数:
-a列出翻开文件存在的历程
-c<历程名>列出指定历程所翻开的文件
-g列出GID号历程概况
-d<文件号>列出占用该文件号的历程
+d<目次>列出目次下被翻开的文件
+D<目次>递回列出目次下被翻开的文件
-n<目次>列出利用NFS的文件
-i<前提>列出切合前提的历程。(4、6、协定、:端口、@ip)
-p<历程号>列出指定历程号所翻开的文件
-u列出UID号历程概况
-h显现匡助信息
-v显现版本信息
(4)利用实例:
实例1:无任何参数
下令:#lsof
申明:
lsof输入各列信息的意义以下:
COMMAND:历程的称号
PID:历程标识符
PPID:父历程标识符(必要指定-R参数)
USER:历程一切者
PGID:历程所属组
FD:文件形貌符,使用步伐经由过程文件形貌符辨认该文件。如cwd、txt等
(1)cwd:暗示currentworkdirctory,即:使用步伐确当前事情目次,这是该使用步伐启动的目次,除非它自己对这个目次举行变动
(2)txt:该范例的文件是步伐代码,如使用步伐二进制文件自己或同享库,如上列表中显现的/sbin/init步伐
(3)lnn:libraryreferences(AIX);
(4)er:FDinformationerror(seeNAMEcolumn);
(5)jld:jaildirectory(FreeBSD);
(6)ltx:sharedlibrarytext(codeanddata);
(7)mxx:hexmemory-mappedtypenumberxx.
(8)m86:DOSMergemappedfile;
(9)mem:memory-mappedfile;
(10)mmap:memory-mappeddevice;
(11)pd:parentdirectory;
(12)rtd:rootdirectory;
(13)tr:kerneltracefile(OpenBSD);
(14)v86VP/ixmappedfile;
(15)0:暗示尺度输入
(16)1:暗示尺度输出
(17)2:暗示尺度毛病
一样平常在尺度输入、尺度毛病、尺度输出后还随着文件形态形式:r、w、u等
(1)u:暗示该文件被翻开并处于读取/写进形式
(2)r:暗示该文件被翻开并处于只读形式
(3)w:暗示该文件被翻开并处于
(4)空格:暗示该文件的形态形式为unknow,且没有锁定
(5)-:暗示该文件的形态形式为unknow,且被锁定
同时在文件形态形式前面,还随着相干的锁
(1)N:foraSolarisNFSlockofunknowntype;
(2)r:forreadlockonpartofthefile;
(3)R:forareadlockontheentirefile;
(4)w:forawritelockonpartofthefile;(文件的局部写锁)
(5)W:forawritelockontheentirefile;(全部文件的写锁)
(6)u:forareadandwritelockofanylength;
(7)U:foralockofunknowntype;
(8)x:foranSCOOpenServerXenixlockonpartofthefile;
(9)X:foranSCOOpenServerXenixlockontheentirefile;
(10)space:ifthereisnolock.
TYPE:文件范例,如DIR、REG等,罕见的文件范例
(1)DIR:暗示目次
(2)CHR:暗示字符范例
(3)BLK:块装备范例
(4)UNIX:UNIX域套接字
(5)FIFO:先辈先出(FIFO)行列
(6)IPv4:网际协定(IP)套接字
DEVICE:指定磁盘的称号
SIZE:文件的巨细
NODE:索引节点(文件在磁盘上的标识)
NAME:翻开文件切实其实切称号
实例2:检察谁正在利用某个文件,也就是说查找某个文件相干的历程
下令:#lsof/bin/bash
输入:

[html]viewplaincopy





  • [root@localhost~]#lsof/bin/bash
  • COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
  • bash24159roottxtREG8,28015285368780/bin/bash
  • bash24909roottxtREG8,28015285368780/bin/bash
  • bash24941roottxtREG8,28015285368780/bin/bash


实例3:递回检察某个目次的文件信息
下令:#lsof+D/opt/soft/test/test3
输入:
[html]viewplaincopy





  • [root@localhost~]#cd/opt/soft/
  • [root@localhostsoft]#lsof+D/opt/soft/test/test3
  • COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
  • bash24941rootcwdDIR8,240962258872test/test3
  • vi24976rootcwdDIR8,240962258872test/test

申明:利用了+D,对应目次下的一切子目次和文件城市被列出。
实例4:不利用+D选项,遍历检察某个目次的一切文件信息的***
下令:#lsof|greptest/test3
输入:
[html]viewplaincopy





  • [root@localhostsoft]#lsof|greptest/test3
  • bash24941rootcwdDIR8,240962258872/opt/soft/test/test3
  • vi24976rootcwdDIR8,240962258872/opt/soft/test/test3
  • vi24976root4uREG8,2122882258882/opt/soft/test/test3/.log2013.log.swp

实例5:列出某个用户翻开的文件信息
下令:#lsof-uusername
申明:-u选项,u实际上是user的缩写。
实例6:列出某个步伐历程所翻开的文件信息
下令:#lsof-cmysql
申明:-c选项将会列出一切以mysql这个历程开首的步伐的文件,实在你也能够写成lsof|grepmysql,可是第一种***分明比第二种***要少打几个字符了。
实例7:列出多个历程多个翻开的文件信息
下令:#lsof-cmysql-capache
实例8:列出某个用户和某个历程所翻开的文件信息
下令:#lsof-utest-cmysql
申明:用户与历程可相干,也能够不相干。
实例9:列出除某个用户外的被翻开的文件信息
下令:#lsof-u^root
申明:^这个标记在用户名之前,将会把是root用户翻开的历程不让显现。
实例10:经由过程某个历程号显现该举行翻开的文件
下令:#lsof-p1
实例11:列出多个历程号对应的文件信息
下令:#lsof-p1,2,3
实例12:列出除某个历程号,其他历程号所翻开的文件信息
下令:#lsof-p^1
实例13:列出一切的收集毗连
下令:#lsof-i
实例14:列出一切tcp收集毗连信息
下令:#lsof-itcp
实例15:列出一切udp收集毗连信息
下令:#lsof-iudp
实例16:列出谁在利用某个端口
下令:#lsof-i:3306
实例17:列出谁在利用某个特定的udp端口
下令:#lsof-iudp:55
大概:特定的tcp端口
下令:#lsof-itcp:80
实例18:列出某个用户的一切活泼的收集端口
下令:#lsof-a-utest-i
实例19:列出一切收集文件体系
下令:#lsof-N
实例20:域名socket文件
下令:#lsof-u
实例21:某个用户组所翻开的文件信息
下令:#lsof-g5555
实例22:依据文件形貌列出对应的文件信息
下令:#lsof-ddescription(like2)
比方:lsof-dtxt
比方:lsof-d1
比方:lsof-d2
申明:0暗示尺度输出,1暗示尺度输入,2暗示尺度毛病,从而可知:以是年夜多半使用步伐所翻开的文件的FD都是从3入手下手
实例23:依据文件形貌局限列出文件信息
下令:#lsof-d2-3
实例24:列出COMMAND列中包括字符串"sshd",且文件描符的范例为txt的文件信息
下令:#lsof-csshd-a-dtxt
[html]viewplaincopy





  • [root@localhostsoft]#lsof-csshd-a-dtxt
  • COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
  • sshd2756roottxtREG8,24094881027867/usr/sbin/sshd
  • sshd24155roottxtREG8,24094881027867/usr/sbin/sshd
  • sshd24905roottxtREG8,24094881027867/usr/sbin/sshd
  • sshd24937roottxtREG8,24094881027867/usr/sbin/sshd

实例25:列出被历程号为1234的历程所翻开的一切IPV4networkfiles
下令:#lsof-i4-a-p1234
实例26:列出今朝毗连主机peida.linux上端口为:20,21,22,25,53,80相干的一切文件信息,且每隔3秒不休的实行lsof指令
下令:#lsof-i@peida.linux:20,21,22,25,53,80-r3
(5)加入光盘操纵
起首检察光盘挂载信息:#df-lh

[html]viewplaincopy





  • 文件体系容量已用可用已用%%挂载点
  • /dev/sda6237G134G91G60%/
  • tmpfs1.9G288K1.9G1%/dev/shm
  • /dev/sr03.8G3.8G0100%/media/centos6.5

然后利用#lsof/dev/sr0大概#lsof/media/centos6.5

[html]viewplaincopy





  • COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAME
  • bash5476aoyangcwdDIR11,020481792/media/centos6.5
  • AutoSetup5617aoyangcwdDIR11,020481792/media/centos6.5
  • AutoSetup5617aoyangtxtREG11,077227261808/media/centos6.5/AutoSetup

接着利用#kill-954765617
最初利用#umount/media/centos6.5或#eject便可卸载光盘。
2、fuser下令


fuser用以由文件或装备往找出利用文件、或装备的历程,关于堵塞出格装备,此下令列出了利用该装备上任何文件的历程。umount光驱的时分,了局体系提醒装备正在利用大概正忙,fuser即可举行查询和处置。
(1)fuser指令
(与manpage中#manfuser绝对应)
用处:利用文件或文件布局辨认历程。http://write.blog.csdn.net/postedit/42487987
语法:fuser[-c|-d|-f][-k][-u][-x][-V]文件...
形貌:
fuserdisplaysthePIDsofprocessesusingthespecifiedfilesorfilesystems.Inthedefaultdisplaymode,eachfilenameisfollowedbyaletterdenotingthetypeofaccess:

#正文:fuser显现利用指定文件大概文件体系的历程的pid,默许会在每一个pid前面加上一个字符暗示会见的体例:
(显现信息的字符,区分于标记)
#-)1、c:暗示currentdirectory。暗示历程是在该目次下启动的。
#-)2、e:暗示是可实行的步伐
#-)3、f:翻开文件。默许不显现
#-)4、r:root目次,暗示该目次是该历程的/目次
#-)5、m:暗示mmap过的文件大概同享库
c:currentdirectory.
e:executablebeingrun.
f:openfile.fisomittedindefaultdisplaymode.
F:openfileforwriting.Fisomittedindefaultdisplaymode.
r:rootdirectory.
m:mmapedfileorsharedlibrary.

fuserreturnsanon-zeroreturncodeifnoneofthespecifiedfilesisaccessedorincaseofafatalerror.Ifatleastoneaccesshasbeenfound,fuserreturnszero.
#正文:假如指定文件没有任何历程会见,大概呈现严峻毛病,fuser前往非0的exitstatus。
#假如最少存在一个历程,则fuser前往0

InordertolookupprocessesusingTCPandUDPsockets,thecorrespondingnamespacehastobeselectedwiththe-noption.BydefaultfuserwilllookinbothIPv6andIPv4sockets.Tochangethedefault,behavior,usethe-4and-6options.Thesocket(s)canbespecifiedbythelocalandremoteport,andtheremoteaddress.Allfieldsareoptional,butcommasinfrontofmissingfieldsmustbepresent:
#正文:为了查找利用某个TCP/UDPsockets的历程,你必需用-n指定(namespace)tcp仍是udp。
#默许fuser会查找ipv4和ipv6sockets。你可使用-4大概-6来改动选项
#sockets能够依照localport:remote_host:remote_port的体例来指定。每一个字段都是可选的,但不克不及省略,
[lcl_port][,[rmt_host][,[rmt_port]]]

EithersymbolicornumericvaluescanbeusedforIPaddressesandportnumbers.
#正文;在端口方面,你能够用端口名大概数字暗示
fuseroutputsonlythePIDstostdout,everythingelseissenttostderr.
#正文:fuser只输入PID到stdout,其他都送给stderr

Options
-a
Showallfilesspecifiedonthecommandline.Bydefault,onlyfilesthatareaccessedbyatleastoneprocessareshown.
#正文:-a显现一切指定文件的情形,即便没有历程会见它们。
-c
Sameas-moption,usedforPOSIXcompatibility.
-f
Silentlyignored,usedforPOSIXcompatibility.
-k
Killprocessesaccessingthefile.Unlesschangedwith-signal,SIGKILLissent.Anfuserprocessneverkillsitself,butmaykillotherfuserprocesses.TheeffectiveuserIDoftheprocessexecutingfuserissettoitsrealuserIDbeforeattemptingtokill.
#正文:-k暗示杀逝世会见指定文件的历程。默许发送SIGKILL(-9)旌旗灯号。fuser历程永久不会杀逝世本人。
#但大概杀逝世其他fuser历程。在实验杀逝世历程前,fuser会改动euid为ruid
-i
Asktheuserforconfirmationbeforekillingaprocess.Thisoptionissilentlyignoredif-kisnotpresenttoo.
#正文:-i暗示交互形式,在杀逝世历程前会提醒。必需和-k适用
-l
Listallknownsignalnames.
#正文:-l列出一切已知的旌旗灯号
-m
namespecifiesafileonamountedfilesystemorablockdevicethatismounted.Allprocessesaccessingfilesonthatfilesystemarelisted.Ifadirectoryfileisspecified,itisautomaticallychangedtoname/.touseanyfilesystemthatmightbemountedonthatdirectory.
#正文:-m暗示指定文件地点的文件体系大概块装备(处于mount形态)。一切会见该文件体系的历程都被列出。
#假设指定了一个目次,则主动在前面加上/暗示该挂载在该目次上的文件体系
-nspace
Selectadifferentnamespace.Thenamespacesfile(filenames,thedefault),udp(localUDPports),andtcp(localTCPports)aresupported.Forports,eithertheportnumberorthesymbolicnamecanbespecified.Ifthereisnoambiguity,theshortcutnotationname/Ispace(e.g.80/tcp)canbeused.
#正文:-n指定sockets的协定范例。能够是file(默许)、udp、tcp。
#你乃至可使用<port>/<proto>的简写体例,只需不存在异义的话
-s
Silentoperation.-uand-vareignoredinthismode.-amustnotbeusedwith-s.
#正文:-s暗示宁静形式。-u和-v会被疏忽,-a不克不及和-s一同利用
-signal
UsethespecifiedsignalinsteadofSIGKILLwhenkillingprocesses.Signalscanbespecifiedeitherbyname(e.g.-HUP)orbynumber(e.g.-1).Thisoptionissilentlyignoredifthe-koptionisnotused.
#正文:-<signal>指定旌旗灯号
-u
AppendtheusernameoftheprocessownertoeachPID.
#正文:-u暗示在PID前面加长进程的owner


-v
Verbosemode.Processesareshowninaps-likestyle.ThefieldsPID,USERandCOMMANDaresimilartops.ACCESSshowshowtheprocessaccessesthefile.Iftheaccessisbythekernel(e.g.inthecaseofamountpoint,aswapfile,etc.),kernelisshowninsteadofthePID.
#正文:-v暗示verbose形式。历程以ps的体例显现,包含PID、USER、COMMAND、ACCESS字段
#假如是内核会见的(比方mountpoint、swap文件),则显现为kernel而不是pid
-V
Displayversioninformation.
-4
SearchonlyforIPv4sockets.Thisoptionmustnotbeusedwiththe-6optionandonlyhasaneffectwiththetcpandudpnamespaces.
#仅查询IPV4套接字
-6
SearchonlyforIPv6sockets.Thisoptionmustnotbeusedwiththe-4optionandonlyhasaneffectwiththetcpandudpnamespaces.
#仅查询IPV6套接字
-
ResetalloptionsandsetthesignalbacktoSIGKILL.
#正文:‘-’暗示重置一切选项并把旌旗灯号设置为SIGKILL

Files
/proclocationoftheprocfilesystem

Examples
fuser-km/home

killsallprocessesaccessingthefilesystem/homeinanyway.
#正文:fuser-km/home杀逝世一切会见/home文件体系的历程
iffuser-s/dev/ttyS1;then:;elsesomething;fi
invokessomethingifnootherprocessisusing/dev/ttyS1.
fusertelnet/tcp
showsallprocessesatthe(local)TELNETport.

要列出利用/etc/passwd文件的当地历程的历程号,请输出:
fuser/etc/passwd要列出利用/etc/filesystems文件的历程的历程号和用户登录名,请输出:
fuser-u/etc/filesystems要停止利用给定文件体系的一切历程,请输出:
fuser-k-x-u-c/dev/hd1大概
fuser-kxuc/home任一下令都列出了历程号和用户名,然后停止每一个正在利用/dev/hd1(/home)文件体系的历程。唯一root用户能停止属于另外一用户的历程。假如您正在试图卸下/dev/hd1文件体系,而一个正在会见/dev/hd1文件体系的历程不同意如许,您大概但愿利用此下令。
要列出正在利用已从给定文件体系删除的文件的全体历程,请输出:
fuser-d/usr文件
/dev/kmem用于体系映像。
/dev/mem也用于体系映像。
#fuser-vm/usr/local/
[html]viewplaincopy





  • USERPIDACCESSCOMMAND
  • r/local/:daemon5227F..e.httpd
  • root8332F..e.httpd
  • root14402f.c..mysqld_safe
  • mysql14502F.ce.mysqld
  • daemon14611F..e.httpd
  • daemon27591F..e.httpd
  • daemon27619F..e.httpd

在利用fuser-km就能够杀逝世历程,同时也能够利用交互式的-i参数,一个一个杀逝世。
(2)加入光盘操纵
起首检察光盘挂载信息:#df-lh
然后利用#fuser-km/media/centos6.5或fuser-km/dev/sr0
最初利用#umount/media/centos6.5或#eject便可卸载光盘。
3、总结

(1)lsof和fuser对卸载光盘过程当中的操纵固然复杂,可是具体的参数也得懂得。(2)其他方面的使用临时没有很深的打仗,今后再加以总结。



欢迎大家来到仓酷云论坛!
作者: 第二个灵魂    时间: 2015-1-16 06:15
标题: 来一发CentOS6下办理光盘没法加入
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
作者: 谁可相欹    时间: 2015-1-25 18:00
下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。
作者: 乐观    时间: 2015-2-3 13:24
下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。
作者: 不帅    时间: 2015-2-9 04:31
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
作者: 深爱那片海    时间: 2015-2-27 03:38
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
作者: 老尸    时间: 2015-3-8 22:16
甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。
作者: 山那边是海    时间: 2015-3-17 00:10
其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!?




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2