‘壹’ linux 锅囱炬垜镄刲inux鐜板湪链変釜杩涚▼1鍦ㄦ墽琛岋纴鎴戞兂绛1镓ц屽畬涔嫔悗镓ц屼笅涓涓浠诲姟锛岃ユ庝箞锅氾纻|
#wait 1
#command ...
wait锻戒护鐢ㄦ潵绛夊緟鎸囦护镄勬寚浠わ纴鐩村埌鍏舵墽琛屽畬姣曞悗杩斿洖缁堢銆傝ユ寚浠ゅ父鐢ㄤ簬shell鑴氭湰缂栫▼涓锛屽緟鎸囧畾镄勬寚浠ゆ墽琛屽畬鎴愬悗锛屾墠浼氱户缁镓ц屽悗闱㈢殑浠诲姟銆傝ユ寚浠ょ瓑寰呬綔涓氭椂锛屽湪浣滀笟镙囱瘑鍙峰墠蹇呴’娣诲姞澶囦唤鍙"%"銆 缃戦〉阈炬帴 瀛︿範linux
璇娉
wait(鍙傛暟)
鍙傛暟
杩涚▼鎴栦綔涓氭爣绀猴细鎸囧畾杩涚▼鍙锋垨钥呬綔涓氩彿銆傚傛灉wait钖庨溃涓嶅甫鍙傛暟锛岄偅涔坵ait浼氶樆濉炲綋鍓嶈繘绋嬬殑镓ц岋纴鐩磋呖褰揿墠杩涚▼镄勬墍链夊瓙杩涚▼閮芥墽琛岀粨𨱒熷悗锛屾墠缁х画镓ц屻
‘贰’ linux进程的几种状态
Linux中进程分类
①交互进程:由一个shell启动的进程,交互进程既可以在前台运行,也可以在后台运行。
②批处理进程:这种进程和终端没有联系,是一个进程序列。
③监控进程:也称守护进程,是一个在后台运行且不受任何终端控制的特殊进程,用于执行特定的系统任务。
进程的状态
①可运行状态:此时进程正在运行或者正在运行队列中等待准备运行。
②等待状态:此时进程在等待一个事件的发生或某种系统资源。在Linux系统中等待状态又细分为两种等待状态:可中断的等待状态和不可中断的等待状态。
③暂停状态:处于暂停状态的进程被暂停运行。
④僵死状态:每个进程在运行结束后都会处于僵死状态,等待父进程调用进而释放系统资源,处于该状态的进程已经运行结束,但是它的父进程还没有释放其系统资源。
‘叁’ linux缁撴潫杩涚▼锻戒护killlinux缁撴潫杩涚▼锻戒护
linux涓镐庝箞缁堟㈡e湪杩愯岀殑杩涚▼锛
linux镐庝箞锅沧㈢▼搴忚繍琛岋纻
linux锅沧㈠懡浠ゆ柟娉曚竴缁堟㈠綋鍓嶆e湪镓ц岀殑镆愪釜锻戒护链蹇镄勬柟娉曟槸鎸変笅缁勫悎阌钬淐trl+C钬濄傝繖涓鏂规硶鍙链夊湪鐢ㄦ埛鑳藉熶粠镆愪釜铏氭嫙鎺у埗鍙颁笂鎺у埗杩欎釜绋嫔簭镄勬椂鍊欐墠濂忔晥銆俵inux锅沧㈠懡浠ゆ柟娉曚簩缁堟㈡煇涓鍑洪敊绋嫔簭镄勫彟澶栦竴涓锷炴硶鏄痥ill(𨱒)鎺夊畠镄勮繘绋嬨傝锋寜镦т笅闱㈢殑鏂规硶杩涜屾搷浣滐细
杈揿叆钬减s钬濆懡浠よ幏鍙栬繘绋嬬殑PID锛岃繖涓锻戒护瑕佹眰浣犳槸杩愯岃繖涓绋嫔簭镄勯偅涓浜烘垨钥呮槸镙圭敤鎴枫傚傛灉鏄镙圭敤鎴凤纴璇疯緭鍏モ减s-aux钬濆懡浠ゆ煡鐪嬫墍链夌殑杩涚▼锛屼笉绠℃槸璋佹嫢链夊畠浠镄勚
鍦ㄦ竻鍗曚腑镓惧埌杩欎釜鍑洪敊杩涚▼銆傚洜涓虹▼搴忕殑钖岖О鍒楀湪娓呭崟镄勬渶鍙宠竟锛岄氩父涓鐪煎氨鍙浠ユ垒鍒板畠銆
璇疯颁笅ps锻戒护杈揿嚭娓呭崟涓杩涚▼鐘舵佽屾渶宸﹁竟镄処D鏁板瓧銆
杈揿叆钬渒illID钬濓纴缁堟㈣ヨ繘绋嬨
浣跨敤ps锻戒护镆ョ湅璇ヨ繘绋嬫槸钖︿粛鍦ㄨ繍琛
linux锻戒护.镐庝箞阃鍑猴纻
锻戒护镓ц屽畬鎴愬悗灏变细镊宸遍鍑猴绂濡傛灉鏄绋嫔簭锅囨绘病链夊弽搴旀垨钥呮槸镓ц岄敊锻戒护浜嗭纴鍙浠ユ寜涓婥trl+C缁勫悎阌寮哄埗缁撴潫杩涚▼𨱒ラ鍑猴绂
濡傛灉鏄绛夊緟鐢ㄦ埛杈揿叆鎸夐敭镄勯偅绉嶅懡浠ょ晫闱锛屼竴鑸鏄阌鐩树笂镄凲阌浣滀负锻戒护镄勯鍑洪敭锛屾垨钥呮槸杈揿叆quit骞舵寜涓嫔洖杞︽潵阃鍑哄懡浠ゃ
镐庢牱缁撴潫linux镄刾ing锻戒护锛
鍦↙inux镄剆hell涓嬫墽琛宲ing127.0.1.1锛屽彲浠ユ祴璇旷绣缁灭殑镵旈氭э纴浣呜ュ懡浠や细涓鐩存墽琛岋纴链変袱绉嶆柟娉曟潵缁堟ping锻戒护锛歝trl+c鍙浠ュ仠姝pingctrl+z鍙浠ユ殏锅减ing锛宑trl+z鏄鎶婅繘绋嬫斁鍒板悗鍙板幓锛屼綘鍙闇瑕乫g灏卞彲浠ユ妸瀹冨纰鍒板墠鍙版潵锛
‘肆’ linux脚本中,如何等待后台进程(之前用&放到后台)结束再执行后面的命令
用wait
比如下面的例子, cmd1 放入后台运行, 而cmd2 要等 cmd1结束后才会执行。
#!/bin/bash
cmd1 &
wait
cmd2
‘伍’ 在Linux编程中,父进程为什么要等待并回收子进程的退出状态不这样做会有什么后果
分几种情况:
父进程永不退出:这种情况下若子进程退出,而父进程没有收集子进程的退出状态,则此子进程会变为僵尸进程,一直占用少量资源,有危害;
父进程比子进程先退出:这种情况下父进程退出时,仍在运行的子进程会变为孤儿进程,孤儿进程会被托管给init进程,孤儿进程结束时由init进程负责回收;
父进程比子进程晚退出:子进程先退出时会变为僵尸进程,占用少量资源;待到父进程再退出时,子进程由僵尸进程变为孤儿进程,init进程会回收这些已僵死的孤儿进程,则这些已经僵死的孤儿进程就能瞑目而去了;