linux - আরো মার্জিত "ps aux | grep-v grep "




(6)

Disclaimer: আমি এই টুল এর লেখক, কিন্তু ...

আমি px ব্যবহার করবো:

~ $ px atom
  PID COMMAND          USERNAME   CPU RAM COMMANDLINE
14321 crashpad_handler walles   0.01s  0% /Users/walles/Downloads/Atom.app/Contents/Frameworks/Electron Framework.framework/Resources/crashpad_handler --database=
16575 crashpad_handler walles   0.01s  0% /Users/walles/Downloads/Atom.app/Contents/Frameworks/Electron Framework.framework/Resources/crashpad_handler --database=
16573 Atom Helper      walles    0.5s  0% /Users/walles/Downloads/Atom.app/Contents/Frameworks/Atom Helper.app/Contents/MacOS/Atom Helper --type=gpu-process --cha
16569 Atom             walles   2.84s  1% /Users/walles/Downloads/Atom.app/Contents/MacOS/Atom --executed-from=/Users/walles/src/goworkspace/src/github.com/github
16591 Atom Helper      walles   7.96s  2% /Users/walles/Downloads/Atom.app/Contents/Frameworks/Atom Helper.app/Contents/MacOS/Atom Helper --type=renderer --no-san

একটি বুদ্ধিমান কমান্ড লাইন ইন্টারফেসের সাথে প্রক্রিয়াগুলি খুঁজে বের করার ব্যতীত এটি অন্যান্য অনেক দরকারী বিষয়গুলি, প্রকল্প পৃষ্ঠায় আরও বিশদ করে।

লিনাক্স এবং ওএস এক্স এ কাজ করে, সহজে ইনস্টল করা:

curl -Ls https://github.com/walles/px/raw/python/install.sh | bash

যখন আমি প্রসেসগুলির তালিকা পরীক্ষা করে দেখি এবং 'grep' আমার জন্য আকর্ষণীয় হয়, তখন grep নিজেই ফলাফলগুলিতে অন্তর্ভুক্ত করা হয়। উদাহরণস্বরূপ, টার্মিনাল তালিকা:

$ ps aux  | grep terminal
user  2064  0.0  0.6 181452 26460 ?        Sl   Feb13   5:41 gnome-terminal --working-directory=..
user  2979  0.0  0.0   4192   796 pts/3    S+   11:07   0:00 grep --color=auto terminal

সাধারণত আমি ps aux | grep something | grep -v grep ব্যবহার করি ps aux | grep something | grep -v grep ps aux | grep something | grep -v grep ps aux | grep something | grep -v grep শেষ এন্ট্রি পরিত্রাণ পেতে ... কিন্তু এটি মার্জিত নয় :)

আপনি এই সমস্যা সমাধানের জন্য একটি আরো মার্জিত হ্যাক আছে (সমস্ত কমান্ড পৃথক পৃথক স্ক্রিপ্ট মধ্যে মোড়ানো ছাড়াও, যা খারাপ নয়)


অনুসন্ধান প্যাটার্নের একটি চরিত্র ঘিরে বন্ধনীগুলি ব্যবহার করে grep প্রক্রিয়াটি বাদ দেয় কারণ এটিতে মিলযুক্ত রেজেক্স থাকে না।

$ ps ax | grep 'syslogd'
   16   ??  Ss     0:09.43 /usr/sbin/syslogd
18108 s001  S+     0:00.00 grep syslogd

$ ps ax | grep '[s]yslogd'
   16   ??  Ss     0:09.43 /usr/sbin/syslogd

$ ps ax | grep '[s]yslogd|grep'
   16   ??  Ss     0:09.43 /usr/sbin/syslogd
18144 s001  S+     0:00.00 grep [s]yslogd|grep

আপনি ps কমান্ড ফিল্টার করতে পারেন, উদাহরণস্বরূপ

ps u -C gnome-terminal

(অথবা অনুসন্ধানের মাধ্যমে / proc অনুসন্ধান করুন ইত্যাদি)


আরও একটি alternative :

ps -fC terminal

এখানে বিকল্পগুলি:

 -f        does full-format listing. This option can be combined
           with many other UNIX-style options to add additional
           columns. It also causes the command arguments to be
           printed. When used with -L, the NLWP (number of
           threads) and LWP (thread ID) columns will be added. See
           the c option, the format keyword args, and the format
           keyword comm.

 -C cmdlist     Select by command name.
                This selects the processes whose executable name is
                given in cmdlist.

স্বাভাবিক কৌশল এই:

ps aux | egrep '[t]erminal'

এই terminal ধারণকারী লাইন মেলে, যা egrep '[t]erminal' না! এটি ইউনিক্সের অনেক স্বাদেও কাজ করে।


pgrep ব্যবহার করুন। এটা আরো নির্ভরযোগ্য।





grep