কীভাবে ম্যাকের কোনও প্রক্রিয়া সন্ধান এবং বন্ধ করতে হয়


11

আমি কীভাবে প্রক্রিয়া আইডিটি খুঁজে পাব এবং ম্যাকের 8080 বন্দর চলমান প্রক্রিয়াটি বন্ধ করব?

উবুন্টুতে এটি কাজ করে:

ps -aux

এবং আমি প্রক্রিয়াটি খুঁজে পেতে এবং চালাতে পারি:

kill -9 pid

ps -aux মনে হচ্ছে না, আমি ম্যাক ওএস এক্স লায়নটিতে এটি কীভাবে করব?



3
না, না। দয়া করে, দয়া করে kill -9 pidআপনি চেষ্টা করার পরে ব্যবহার করবেন না kill pid। অনেকগুলি প্রক্রিয়াতে সিগন্যাল হ্যান্ডলারগুলি থাকে যা তাদের সংস্থানসমূহের ব্যবহার, পরিষ্কারভাবে বন্ধ সংযোগ এবং অন্যান্য প্রাক-শাটডাউন কার্যগুলি পরিষ্কার করবে। আপনি যদি -9 দিয়ে হত্যা করেন তবে প্রক্রিয়াটি ক্লিনআপটি না করেই মারা যায়। -9 ছাড়া হত্যা বেশিরভাগ সময় কাজ করবে।
ডগ হ্যারিস

উত্তর:


16

Reasonsতিহাসিক কারণে, psএর বিকল্পগুলি একটি জটলা এবং বেমানান জঞ্জাল। ওএস এক্স লায়নটিতে এর যে কোনও একটির কাজ করা উচিত:

ps -ax
ps -e
ps aux # this displays in a different format

আমার কাছে কোনও উবুন্টু বাক্স পরীক্ষার জন্য সহজ নয়, তবে ম্যান পৃষ্ঠা অনুসারে , ps -auxএটি সেখানে করার সঠিক উপায় নয়:

Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX
standards require that "ps -aux" print all processes owned by a user
named "x", as well as printing all processes that would be selected by
the -a option. If the user named "x" does not exist, this ps may
interpret the command as "ps aux" instead and print a warning. This
behavior is intended to aid in transitioning old scripts and habits. It
is fragile, subject to change, and thus should not be relied upon.


5

আপনি যদি স্ট্রিংয়ের সাথে সঙ্গতিপূর্ণ সমস্ত প্রক্রিয়া সন্ধান করতে এবং হত্যা করতে চান তবে আপনি ম্যাক ওএসএক্স-এ নিম্নলিখিত ব্যবহার করতে পারেন:

ps aux | grep <string> | awk '{print $1}' | <sudo> xargs kill -9

মূলত এটি যা করবে এটি হ'ল (গ্রেপ) আপনার সিস্টেমে বর্তমানে চলমান সমস্ত প্রক্রিয়াটি মেলে, এডাব্লু কে পিআইডি পেয়েছে, যা পিএস কমান্ডের দ্বিতীয় কলামে এবং শেষটি এডাব্লুকে থেকে আর্গুমেন্ট গ্রহণ করে এবং হত্যা করে প্রক্রিয়া।

SUDO ব্যবহার করুন, কেবলমাত্র যদি বর্তমান ব্যবহারকারীর কোনও প্রক্রিয়া মেরে ফেলার কিছু অধিকার না থাকে এবং আপনার সিস্টেমে যদি SUDO অ্যাক্সেস থাকে।


3

আমি বিশ্বাস করি ps -efম্যাকের ps -auxউপর লিনাক্স প্রায় সমান ।

পিআইডি 8080 ব্যবহারে পোর্ট রয়েছে তা পেতে: lsof -P | grep 8080

ক্ষেত্রগুলি এতে ম্যাপ করে:

[mini-nevie:~] nevinwilliams% lsof -P | head -1
COMMAND     PID          USER   FD     TYPE             DEVICE  SIZE/OFF    NODE NAME

আমি শুরু করেছি ttcp -rsযা পোর্ট 5001 এ শোনে।

mini-nevie:~] nevinwilliams% lsof -P | grep 5001
ttcp      27999 nevinwilliams    3u    IPv4 0xb70c1f66028d6961       0t0     TCP *:5001 (LISTEN)

এবং প্রকৃতপক্ষে, পিআইডি 27999 ttcpআমি যে প্রক্রিয়াটি শুরু করেছি তার পিআইডি মেলেনি ।


1
আপনি ps auxওএস এক্স-এ (ড্যাশ ছাড়াই ) ও ব্যবহার করতে পারেন ps -efdifferent এতে বিভিন্ন কলাম রয়েছে এবং ভিন্ন ফর্ম্যাট ব্যবহার করে।
ল্রি

আমার তুলনা করার জন্য বর্তমানে একটি লিনাক্স লগইন না করার ঘটনা ঘটেছে; বহু বছর আগে, আইআইআরসি, যদি -উক্স ইউনিক্সের নির্দিষ্ট গন্ধে প্রত্যাশিত আউটপুট না দেয়, তবে -আইফ, আইআইএক্স, লিনাক্স, সানোস ব্যবহার করেছেন -অক্স, বিএসডি, সোলারিসের প্রয়োজনীয়তা ছিল - সামঞ্জস্যতার জন্য; আমি ভুলে যাচ্ছি যদি আইআরআইএক্স -অক্স বা-মাংস ছিল। আমি মনে করি না যে
संबंधित

ওএস এক্স এর অউস এবং উবুন্টুর অক্স এবং বাক্স একই ফর্ম্যাটটি ব্যবহার করে তবে উবুন্টু-এর প্রারম্ভের শুরুতে একটি সতর্কতা মুদ্রণ করে।
Lri

1
আহা ... বিভাজনটি এসআইএসভি এবং বিএসডি বাস্তবায়নের মধ্যে ছিল।
নেভিন উইলিয়ামস

1

ম্যাকোসের জন্য আপ টু ডেট থাকার জন্য:

ps -e | grep python | awk '{print "sudo kill -9",  $1}' | sh

লিনাক্সের জন্য:

ps -ax | grep python | awk '{print "sudo kill -9",  $1}' | sh
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.