Ubuntu下各种结束进程的方法
Linux终端关闭后台进程也结束原因分析和nohup的使用-电脑资料

Linux终端关闭后台进程也结束原因分析和nohup的使用-电脑资料Windows和Linux的远程连接(都叫做远程连接吧)不同:1)Windows远程连接后,如果在远程机器上运行某个程序,完全可以退出连接后过一段时间再连接到那台机器上看有没有结束,即Windows的远程连接在不经过任何处理的情况下,在远程机器上运行的程序不会随着中止连接而结束,。
2)Ubuntu在终端登陆远程主机并运行程序后,如果此时直接中止连接退出,那么这个连接所开的会话(session)下运行的所有进程都会被杀死,即在远程运行的程序会随着中止连接而结束。
Windows就此功能来说,方便使用,Ubuntu如果在使用上能够达到Windows的响应功能特性将会大大方便工作。
Ubuntu中之所以会这样,主要因为:1)进程的相关概念:在Linux中,每个进程都属于一个进程组(group),进程组有一个组长;多个进程组构成一个会话,会话是由其中的进程建立的,该进程叫做会话的领导进程(session leader)。
会话领导进程的PID成为识别会话的SID(session ID)。
会话中的每个进程组称为一个工作(job)。
会话可以有一个进程组成为会话的前台工作(foreground job),而其他的进程组是后台工作(background job)。
并不是进程组中的每个进程都是job中的内容,job是由session进程直接的“儿子”组成的,但是当job中的进程又产生子进程的时候,子进程便不是job中的内容。
每个会话可以连接一个控制终端(control terminal)。
当控制终端有输入输出时,都传递给该会话的前台进程组。
当前台进程组或者说job中的最后一个进程结束后,后台的session控制进程自动切换至前端,由终端产生的信号,比如CTRL+Z, CTRL+\,会传递到前台进程组。
会话主要是针对一个终端建立,当我们打开多个终端窗口时,实际上就创建了多个终端会话。
Ubuntu命令大全【详细版】

如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。
dpkg: --purge needs at least one package name argumentType dpkg --help for help about installing and deinstalling packages [*];Use `dselect' or `aptitude' for user-friendly package management;Type dpkg -Dhelp for a list of dpkg debug flag values;Type dpkg --force-help for a list of forcing options;Type dpkg-deb --help for help about manipulating *.deb files;Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*]. Options marked [*] produce a lot of output - pipe it through `less' or `more' !彻底删除Gnome系统升级1.这里指的是版本间的升级,例如9.04=>10.04。
2.使用该升级方式通常需要使用backports 源。
查看内核限制查看硬盘剩余空间用法:df [选项]... [文件]...显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统。
查看硬盘当前读写情况usage: free [-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]详细显示程序的运行信息查看当前监听80端口的程序永久改地址方法在iface eth0 inet static 后面添加一行:配置文件应该像如下如何多线程下载iptables禁止一个IP或者一个IP段访问服务器端口服务使用eclipse等其他自带java编译器的软件,换回sun的编译器方法对于Java JDK6 (就是1.6,sun缩短Java的版本名字了):对于Java JDK1.5或者将当前目录下最近2小时到8小时之内的文件显示出来影像播放swf文件安装swf解码器图形界面为ipod touch转mp4的方法先确保有zenity和memcoder转换pdf 到png设置日期修改mysql的root口令统计统计最常用的10条命令如果没有~/.vimrc文件,则可以在/etc/vim/vimrc中加入vim配色方案(~/.vimrc)解压缩还原源代码包恢复:GNOME登录时自动运行程序系统-> 首选项-> 会话->如何提高wine的反应速度查看samba的用户。
Ubuntu命令大全

Ubuntu命令大全Ubu ntu,大全, 命令查看软件xxx安装内容#dpkg-L xx x查找软件#ap t-cac he se arch正则表达式查找文件属于哪个包#dpk g -Sfilen ame a pt-fi le se archfilen ame查询软件xx x依赖哪些包#ap t-cac he de pends xxx查询软件x xx被哪些包依赖#apt-c acherdepe nds x xx增加一个光盘源#sud o apt-cdro m add系统升级#sud o apt-getupdat e#su do ap t-get upgr ade#sudoapt-g et di st-up grade清除所以删除包的残余配置文件#dpk g -l|grep ^rc|awk …{prin t $2}‟ |tr [”\n”] [” “]|s udo x argsdpkg-P -编译时缺少h文件的自动处理#sudoauto-apt r un ./confi gure查看安装软件时下载包的临时存放目录#l s /va r/cac he/ap t/arc hives备份当前系统安装的所有包的列表#dp kg –g et-se lecti ons | grep -v d einst all > ~/so mefil e从上面备份的安装包的列表文件恢复所有包#dp kg –s et-se lecti ons < ~/so mefil e sud o dse lect清理旧版本的软件缓存#sud o apt-getautoc lean清理所有软件缓存#sudoapt-g et cl ean删除系统不再使用的孤立软件#s udo a pt-ge t aut oremo ve查看包在服务器上面的地址#apt-get-qq –print-uris inst all s sh |cut -d\‟ -f2系统查看内核#una me -a查看Ub untu版本#ca t /et c/iss ue查看内核加载的模块#l smod查看PCI设备#l spci查看USB设备#l susb查看网卡状态#su do et htool eth0查看CP U信息#cat /proc/cpuin fo显示当前硬件信息#ls hw硬盘查看硬盘的分区#sudofdisk -l查看IDE硬盘信息#sudohdpar m -i/dev/hda查看STAT硬盘信息#sudo hdpa rm -I /dev/sda或#su do ap t-get inst all b lktoo l#su do bl ktool /dev/sdaid查看硬盘剩余空间#df -h#df -H查看目录占用空间#du -hs 目录名优盘没法卸载#syncfuser -km/medi a/usb disk内存查看当前的内存使用情况#free -m进程查看当前有哪些进程#ps -A中止一个进程#kil l 进程号(就是ps -A中的第一列的数字) 或者 kill all 进程名强制中止一个进程(在上面进程中止不成功的时候使用)#kill-9 进程号或者killa ll -9进程名图形方式中止一个程序#xki ll 出现骷髅标志的鼠标,点击需要中止的程序即可查看当前进程的实时状况#to p查看进程打开的文件#ls of -pADSL配置A DSL#sudopppoe confADSL手工拨号#sudopon d sl-pr ovide r激活ADSL#sudo /etc/ppp/pppoe_on_b oot断开 ADS L#su do po ff查看拨号日志#sudo plog如何设置动态域名#首先去h ttp://www.3322.org申请一个动态域名#然后修改 /e tc/pp p/ip-up 增加拨号时更新域名指令sudovim /etc/p pp/ip-up#在最后增加如下行w3m -n o-coo kie -dump网络根据IP查网卡地址#a rping IP地址查看当前IP地址#ifco nfigeth0|awk…/ine t/ {s plit($2,x,”:”);print x[2]}‟查看当前外网的IP地址#w3m-no-c ookie -dum pwww.edu.c n|gre p-o…[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}‟#w3m-no-c ookie -dum pwww.xju.e du.cn|grep-o‟[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}‟#w3m -no-co okie-dump ip.l overo ot.co m|gre p -o‟[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}‟查看当前监听80端口的程序#lsof -i :80查看当前网卡的物理地址#arp-a |awk …{prin t $4}‟ ifc onfig eth0 | he ad -1 | aw k …{p rint$5}‟立即让网络支持nat#sud o ech o 1 > /pro c/sys/net/ipv4/ip_fo rward#sud o ipt ables -t n at -I POST ROUTI NG -j MASQ UERAD E查看路由信息#netst at -r n sud o rou te -n手工增加删除一条路由#su do ro ute a dd -n et 192.168.0.0netma sk 255.255.255.0 gw172.16.0.1#sud o rou te de l -ne t 192.168.0.0 n etmas k 255.255.255.0 gw 172.16.0.1修改网卡M AC地址的方法#s udo i fconf ig et h0 do wn 关闭网卡#s udo i fconf ig et h0 hw ethe r 00:AA:BB:CCD:EE 然后改地址#sudoifcon fig e th0 u p 然后启动网卡统计当前IP连接的个数#net stat-na|g rep E STABL ISHED|awk…{pri nt $5}‟|aw k -F: …{pr int $1}‟|s ort|u niq -c|sor t -r-n#n etsta t -na|grep SYN|awk …{prin t $5}‟|awk -F:…{pri nt $1}‟|so rt|un iq -c|sort -r -n统计当前20000个IP包中大于100个IP包的IP地址#tcp dump-tnn-c 20000 -i eth0 | a wk -F “.”…{pri nt $1″.”$2″.”$3″.”$4}‟ |sort| uni q -c| sor t -nr | aw k … $1 > 100 …屏蔽IPV6#ec ho “b lackl ist i pv6″| sud o tee /etc/modp robe.d/bla cklis t-ipv6服务添加一个服务#su do up date-rc.d服务名d efaul ts 99删除一个服务#s udo u pdate-rc.d服务名remov e临时重启一个服务#/et c/ini t.d/服务名 re start临时关闭一个服务#/etc/init.d/服务名 sto p临时启动一个服务#/et c/ini t.d/服务名 st art设置配置默认Java使用哪个#sudo upda te-al terna tives–con fig j ava修改用户资料#sud o chf n use rid给apt设置代理#e xport http_prox y=htt p://x x.xx.xx.xx:xxx修改系统登录信息#sudovim /etc/m otd中文转换文件名由GB K为UTF8#su do ap t-get inst all c onvmv conv mv -r -f c p936-t ut f8 –n otest–nos mart*批量转换src目录下的所有文件内容由GBK到U TF8#findsrc -typed -ex ec mk dir -p utf8/{}\; fi nd sr c -ty pe f-exec icon v -fGBK -t UTF-8 {} -o u tf8/{} \;mv ut f8. 或 echo */.将当前目录下最近30天访问过的文件移动到上级bac k目录#find. -ty pe f-atim e -30 -exe c mv{} ../back \;将当前目录下最近2小时到8小时之内的文件显示出来#find. -mm in +120 -m min -480 -execmore{} \;删除修改时间在30天之前的所有文件#find. -ty pe f-mtim e +30 -mti me -3600 -execrm {} \;查找gues t用户的以avi或者rm结尾的文件并删除掉#fi nd .-name …*.a vi‟ -o -na me …*.rm‟-user …gue st‟ -execrm {} \;查找的不以j ava和x ml结尾,并7天没有使用的文件删除掉#find. ! -name*.jav a ! -name…*.xm l‟ -a time+7 -e xec r m {}\;统计当前文件个数#ls /usr/bin|wc -w统计当前目录个数#ls -l /us r/bin|grep ^d|w c -l显示当前目录下2006-01-01的文件名#ls -l |grep2006-01-01 |awk …{pr int $8}‟F TP上传下载文件工具-fil ezill a#su do ap t-get inst all f ilezi llaf ilezi lla无法列出中文目录?站点->字符集->自定义->输入:GBK本地中文界面1)下载filez illa中文包到本地目录,如~/2)#unrar x Fi lezil la3_z hCN.r ar3)如果你没有unra r的话,请先安装ra r和unr ar#s udo a pt-ge t ins tallrar u nrar#sudo ln -f /us r/bin/rar/usr/bin/u nrar4)先备份原来的语言包,再安装;实际就是拷贝一个语言包。
ubuntu终端的操作命令

1. 更改档案拥有者命令: chown [-cfhvR] [--help] [--version] user[:group] file...功能: 更改文件或者文件夹的拥有者参数格式:user : 新的档案拥有者的使用者IDgroup : 新的档案拥有者的使用者群体(group) -c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更) 例如:chown -R oracle:oinstall /oracle/u01/app/oracle更改目录拥有者为oracle2. 修改权限命令:chmod (change mode)功能:改变文件的读写和执行权限。
有符号法和八进制数字法。
选项:(1)符号法:命令格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filenameu (user) 表示用户本人。
g (group) 表示同组用户。
o (oher) 表示其他用户。
a (all) 表示所有用户。
+ 用于给予指定用户的许可权限。
- 用于取消指定用户的许可权限。
= 将所许可的权限赋给文件。
r (read) 读许可,表示可以拷贝该文件或目录的内容。
w (write) 写许可,表示可以修改该文件或目录的内容。
x (execute)执行许可,表示可以执行该文件或进入目录。
(2)八进制数字法:命令格式:chmod abc file其中a,b,c各为一个八进制数字,分别表示User、Group、及Other的权限。
4 (100) 表示可读。
2 (010) 表示可写。
1 (001) 表示可执行。
若要rwx属性则4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=5。
ubuntu关机和重启

ubuntu关机和重启本博客旨在⾃我学习使⽤,如有任何疑问请及时联系博主linux下常⽤的关机命令有:shutdown、halt、poweroff、init;重启命令有:reboot。
下⾯本⽂就主要介绍⼀些常⽤的关机命令以及各种关机命令之间的区别和具体⽤法。
关机命令:1、halt ⽴刻关机2、poweroff ⽴刻关机3、shutdown -h now ⽴刻关机(root⽤户使⽤)4、shutdown -h 10 10分钟后⾃动关机如果是通过shutdown命令设置关机的话,可以⽤shutdown -c命令取消重启重启命令:1、reboot2、shutdown -r now ⽴刻重启(root⽤户使⽤)3、shutdown -r 10 过10分钟⾃动重启(root⽤户使⽤)4、shutdown -r 20:35 在时间为20:35时候重启(root⽤户使⽤) 如果是通过shutdown命令设置重启的话,可以⽤shutdown -c命令取消重启关机命令之间的区别和各⾃的⽤法shutdown——安全的关机命令对于shutdown命令,它是⼤家都推荐的⼀个安全的命令,通过参数-h或-r的配合来完成关机或重启。
不过在linux系统中只有拥有root权限才可以使⽤这个命令。
所以,虽然⼤家都推荐⽤这个命令,但是这个命令⽤起来真的不太⽅便:想要⽤这个命令吗?先去获得root权限吧。
shutdown执⾏关机,是送信号给init,要求它改变运⾏级别,以此来关机。
关机或重启实际上是运⾏级别的调整,所以我们也可以⽤init直接调整运⾏级别来进⾏关机或重启。
使⽤这个命令时,机器⽴即关机或重启。
它也需要root权限。
那么为什么说shutdown命令是安全地将系统关机呢?实际中有些⽤户会使⽤直接断掉电源的⽅式来关闭linux,这是⼗分危险的。
因为linux与windows不同,其后台运⾏着许多进程,所以强制关机可能会导致进程的数据丢失使系统处于不稳定的状态。
乌班图(Ubuntu)命令使用技巧

前言下面的命令大都需要在控制台 / 终端 / shell下输入。
控制台, 终端, 和 shell意味着同样一件事 - 一个命令行界面,他可以用来控制系统。
打开一个控制台:应用程序 --> 附件 --> 终端任何一个使用 'sudo' 作为前缀的命令都需要拥有管理员(或 root) 访问权限。
所以你会被提示输入你自己的密码。
安装升级查看软件xx x安装内容dpkg -L xxx查找软件库中的软件apt-cachesearch正则表达式或aptitu de search软件包显示系统安装包的统计信息apt-cachestats显示系统全部可用包的名称apt-cachepkgnam es显示包的信息apt-cacheshow k3b查找文件属于哪个包dpkg -S filena meapt-file search filena me查看已经安装了哪些包dpkg -l也可用dpkg -l | less翻页查看查询软件xx x依赖哪些包apt-cachedepend s xxx查询软件xx x被哪些包依赖apt-cacherdepen ds xxx增加一个光盘源sudo apt-cdromadd系统更新sudo apt-get update (这一步更新包列表)sudo apt-get dist-upgrad e (这一步安装所有可用更新)或者sudo apt-get upgrad e (这一步安装应用程序更新,不安装新内核等)清除所有已删除包的残馀配置文件dpkg -l |grep ^rc|awk '{print$2}' |sudo xargsdpkg -P如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。
dpkg: --purgeneedsat leastone packag e name argume ntType dpkg --help for help aboutinstal lingand deinst allin g packag es [*];Use `dselec t' or `aptitu de' for user-friend ly packag e manage ment; Type dpkg -Dhelpfor a list of dpkg debugflag values;Type dpkg --force-help for a list of forcin g option s;Type dpkg-deb --help for help aboutmanipu latin g *.deb files; Type dpkg --licens e for copyri ght licens e and lack of warran ty (GNU GPL) [*].Option s marked[*] produc e a lot of output- pipe it throug h `less' or `more' !编译时缺少h文件的自动处理sudo auto-apt run ./config ure查看安装软件时下载包的临时存放目录ls /var/cache/apt/archiv es备份当前系统安装的所有包的列表dpkg --get-select ions| grep -v deinst all > ~/somefi le从上面备份的安装包的列表文件恢复所有包dpkg --set-select ions< ~/somefi lesudo dselec t清理旧版本的软件缓存sudo apt-get autocl ean清理所有软件缓存sudo apt-get clean删除系统不再使用的孤立软件sudo apt-get autore move如果使用sudo apt-get autore move--purge的话会把这些孤立软件的残留配置文件也一并移除查看包在服务器上面的地址apt-get -qq --print-uris instal l ssh | cut -d\' -f2彻底删除Gn omesudo apt-get --purgeremove liborb it2彻底删除KD Esudo apt-get --purgeremove libqt3-mt libqtc ore4一键安装 LAMP 服务sudo taskse l instal l lamp-server删除旧内核sudo aptitu de purge~ilinux-image-.*\(\!`uname-r`\)导入ppa源的key值#W: GPG签名验证错误:unch jaunty Releas e: 由于没有公钥,下列签名无法进行验证: NO_PUB KEY 5126890CDCC7AFE0sudo apt-key adv --recv-keys --keyser ver keyser ver.ubunt 5126890CDCC7AFE0 #5126890CDCC7AFE0替换为你需要导入的K ey值增加 add-apt-reposi tory命令sudo apt-get instal l softwa re-proper ties-common增加一个pp a源sudo add-apt-reposi toryppa:user/ppa-name#使用 ppa 的地址替换ppa:user/ppa-name添加163镜像源sudo add-apt-reposi tory"deb http://mirror /ubuntu/ `lsb_re lease -cs` main restri cteduniver se multiv erse"sudo add-apt-reposi tory"deb http://mirror /ubuntu/ `lsb_re lease -cs`-update s main restri cteduniver se multiv erse"sudo add-apt-reposi tory"deb http://mirror /ubuntu/ `lsb_re lease -cs`-securi ty main restri cteduniver se multiv erse"系统升级1这里指的是版本间的升级,例如 9.04=>10.04。
python 多进程结束方法
python 多进程结束方法Python是一种高级编程语言,具有简洁、易读、易学的特点,广泛应用于各种领域的开发工作中。
在Python中,多进程是一种并行执行任务的方式,可以提高程序的运行效率。
然而,多进程的结束方法却是一个常见的难题,本文将介绍一些常用的多进程结束方法,帮助读者解决这个问题。
一、使用terminate()方法结束进程在Python中,可以使用multiprocessing库来创建和管理多进程。
对于已经创建的进程,可以使用terminate()方法来结束进程。
terminate()方法会立即终止进程的执行,并释放相关的系统资源。
下面是一个使用terminate()方法结束进程的示例代码:```pythonimport multiprocessingimport timedef func():print("子进程开始执行...")time.sleep(5)print("子进程执行结束。
")if __name__ == "__main__":p = multiprocessing.Process(target=func)p.start()time.sleep(3)p.terminate()print("主进程执行结束。
")```在上面的代码中,首先创建了一个子进程,然后使用start()方法启动子进程,并在主进程中等待3秒后,使用terminate()方法结束子进程。
最后,主进程打印出"主进程执行结束。
"的消息。
运行上述代码,可以看到子进程在执行到time.sleep(5)时被终止,然后主进程执行结束。
二、使用join()方法等待进程结束除了使用terminate()方法终止进程外,还可以使用join()方法等待进程结束。
join()方法会阻塞主进程,直到子进程执行结束后再继续执行主进程。
乌班图基本操作命令
sudo apt-get clean 清理所有软件缓存(即缓存在/var/cache/apt/archives 目录里的 deb 包)
查看软件 xxx 安装内容 #dpkg -L xxx
查找软件 #apt-cache search 正则表达式 查找文件属于哪个包 #dpkg -S filename apt-file search filename
清理所有软件缓存 #sudo apt-get clean
删除系统不再使用的孤立软件 #sudo apt-get autoremove
查看包在服务器上面的地址 #apt-get -qq –print-uris install ssh | cut -d\’ -f2
系统 查看内核 #uname -a
查看 Ubuntu 版本 #cat /etc/issue
查看内核加载的模块 #lsmod
查看 PCI 设备 #lspci
查看 USB 设备 #lsusb
查看网卡状态 #sudo ethtool eth0
查看 CPU 信息 #cat /proc/cpuinfo
显示当前硬件信息 #lshw
硬盘 查看硬盘的分区 #sudo fdisk -l
查看 IDE 硬盘信息 #sudo hdparm -i /dev/hda
清除所以删除包的残余配置文件 #dpkg -l |grep ^rc|awk ‘{print $2}’ |tr ["\n"] [" “]|sudo xargs dpkg -P -
编译时缺少 h 文件的自动处理 #sudo auto-apt run ./configure
查看安装软件时下载包的临时存放目录 #ls /var/cache/apt/archives
ubuntu命令大全
ubuntu命令大全Ubuntu命令大全。
Ubuntu是一个基于Debian的Linux操作系统,是一个开源免费的操作系统。
它具有良好的稳定性、安全性和易用性,因此备受用户喜爱。
作为一个Ubuntu用户,熟练掌握一些基本的命令是非常重要的,可以帮助我们更好地管理系统、提高工作效率。
在本文中,我将为大家整理一份Ubuntu命令大全,希望能够帮助大家更好地使用Ubuntu系统。
1. cd命令。
cd命令是change directory的缩写,用于切换当前工作目录。
例如,要切换到根目录,可以使用以下命令:```shell。
cd /。
```。
要切换到home目录,可以使用以下命令:```shell。
cd ~。
```。
2. ls命令。
ls命令用于列出指定目录中的文件和子目录。
例如,要列出当前目录下的所有文件和子目录,可以使用以下命令:```shell。
```。
要列出指定目录下的文件和子目录,可以使用以下命令:```shell。
ls /path/to/directory。
```。
3. mkdir命令。
mkdir命令用于创建新的目录。
例如,要在当前目录下创建一个名为test的目录,可以使用以下命令:```shell。
mkdir test。
```。
4. rm命令。
rm命令用于删除文件或目录。
要删除文件,可以使用以下命令:```shell。
rm filename。
```。
要删除目录及其下所有文件和子目录,可以使用以下命令:```shell。
rm -r directory。
5. cp命令。
cp命令用于复制文件或目录。
例如,要将文件file1复制到目录directory中,可以使用以下命令:```shell。
cp file1 directory。
```。
要将目录directory1复制到目录directory2中,可以使用以下命令:```shell。
cp -r directory1 directory2。
```。
6. mv命令。
ubuntu kill用法
在Ubuntu(以及其他基于Linux 的操作系统)中,`kill` 命令用于终止正在运行的进程。
为了使用`kill` 命令,你需要知道目标进程的进程ID(PID)。
以下是一些基本用法和示例:
1. **使用进程ID终止进程**:
使用`ps` 命令查找进程ID,然后使用`kill` 命令终止该进程。
```bash
ps aux | grep [进程名或关键字]
```
上述命令将显示与给定进程名或关键字相关的进程列表。
找到目标进程的进程ID后,使用以下命令终止它:
```bash
kill -9 [进程ID]
```
`-9` 是一个信号,表示强制终止进程。
2. **使用进程名终止进程**:
你也可以使用`pkill` 命令直接使用进程名来终止进程。
```bash
pkill [进程名]
```
3. **列出所有信号**:
如果你想了解`kill` 命令中可以使用的所有信号,可以使用以下命令:
```bash
kill -l
```
4. **发送其他信号**:
除了`-9` 信号外,`kill` 命令还可以发送其他信号。
例如,使用以下命令发送中断信号(SIGINT):
```bash
kill -2 [进程ID]
```
请注意,使用`kill -9` 会强制终止进程,可能导致数据丢失或其他不可预见的问题。
在终止进程之前,最好尝试使用其他信号(如SIGTERM)优雅地关闭它。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结束进程办法
--------------------------------------------------------------------------------------------------------------
1、打开终端(什么是终端?自己看Ubuntu的帮助吧,就是Firefox图标右边那个问号,里面有)
2、敲ps -ef 查出进程的编号(就是PID那列)
3、敲kill PID(如果PID是123456,则kill 123456)
4、OK了
--------------------------------------------------------------------------------------------------------------
下面是进阶教程~~~~·
在本地Ubuntu Linux系统运行大软件的时候,或者服务器长时间运行后,由于有些设计有缺陷的软件,容易出现假死的情况!那程序假死了以后,我们该怎么办呢?其实这个问题其实说简单也简单,直接结束进程不就OK了嘛!就像我们在Windows下面做的一样!下面来介绍几种Ubuntu Linux下面结束进程的几咱方法!
最安全杀死进程的方法
杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志。
首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:
#kill -pid
注释:标准的kill命令通常都能达到目的。
终止有问题的进程,并把进程的资源释放给系统。
然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。
为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
还可以使用如下命令来确定要杀死进程的PID或PPID
$ ps -ef | grep httpd
以最优雅的方式来结束进程
$ kill -l PID
-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。
当使用该选项时,kill
命令也试图杀死所留下的子进程。
但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。
TERM信号
给父进程发送一个TERM信号,试图杀死它和它的子进程。
$ kill -TERM PPID
killall命令
killall命令杀死同一进程组内的所有进程。
其允许指定要终止的进程的名称,而非PID。
$ killall httpd
停止和重启进程
有时候只想简单的停止和重启进程。
如下:
$ kill -HUP PID
该命令让Linux和缓的执行进程关闭,然后立即重启。
在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。
绝杀$kill -9 PID
$kill -s SIGKILL
这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清理。
危害是导致系统资源无法正常释放,一般不推荐使用,除非其他办法都无效。
当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。
只能通过终止父进程来消除僵尸进程。
如果僵尸进程被init收养,问题就比较严重了。
杀死init进程意味着关闭系统。
如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。
-----------------------------------------
原文网址:/index.php?aid=98。