بعضی وقتا یه سرویس یا یه نرم افزاری روی سیستم عامل لینوکس در حال اجراست و میخوایم که ببندیمش، اما اون نرم افزار تو محیط گرافیکی نیست و هیچ دکمه ضربدری هم برای بستن نرم افزار وجود نداره،
پس حالا وقتشه که محیط دستورات لینوکس (command line) و یا ترمینال رو باز کنیم و کمی لذت ببریم 🙂
برای شروع باید بگم که ما با دوتا کامند grep و ps کار داریم.
طبق معمول میتونیم با کمک دستور man بررسی کنیم که کامندهای مورد نظر به چه شکلی کار میکنند و هر کدوم کارشون چیه!
man ps #results the manual page of the ps command
کار با دستور grep
وظیفه دستور grep پیدا کردن کلمه مورد نظر کاربر در یک متن است.
فرضا ما میخواهیم بررسی کنیم که آیا در یک فایل به اسم test.txt کلمه arash khajelou وجود دارد یا خیر،
گفتیم که کار grep یافتن کلمه در متن است، پس در ابتدا باید فایل مورد نظر را به صورت متن (string) درآوریم.
خوشبختانه دستور cat این کار را برای ما انجام میدهد.
cat /path/to/test.txt #this command returns a stream of content exist in the file test.txt
حالا که متن داخل فایل test.txt را داریم میخواهیم به دنبال کلمه مورد نظر بگردیم:
cat /path/to/test.txt | grep "arash khajelou" #search for the key word in the file named test.txt
کار با دستور ps
وظیفه دستور ps نمایش دادن لیست برنامه های در حال اجرا بر روی رم میباشد.
برای مطالعه تمام قابلیت های دستور ps دستور العمل آن را از طریق دستور man مطالعه کنید.
دستور مورد نیاز برای نمایش برنامههایی که در پس زمینه در حال اجرا هستند (در هیچ ترمینالی وجود ندارند)
ps -ax #shows all the processes which have not any terminal connected
حالا فرض کنید دنبال برنامه php میگردیم که نمیدونیم چطوری و توسط چه کسی و چه وقتی اجرا شده و به هیچ طریقی دسترسی به ترمینالش نداریم که ببندیمش:
ps -ax | grep "php" #in the result of ps command only shows the lines which have the key word 'php' inseide them
حالا که ما میدونیم php روی رم سیستممون جا خشک کرده و شماره یپردازش (pid | process id) روی رم رو هم از طریق ps فهمیدیم وقتش رسیده که از شرش خلاص بشیم:
kill [PID] #this command kills the process with the pid [PID] , you must replace the [PID] with the selected pid in ps command
ممنون از وقتی که در وبسایت ما گذروندید.