আমি কীভাবে কোনও আলাদা নাম দিয়ে একটি প্রক্রিয়া শুরু করতে পারি?


12

মূলত আমি কিছু প্রক্রিয়াগুলি গতিশীলভাবে শুরু করতে চাই যা তাদের নিজস্ব বাচ্চাদের প্রক্রিয়া তৈরি করতে পারে, আমি যখনই চাই তখনই তৈরি করেছি এমন একটি নির্দিষ্ট গ্রুপের প্রক্রিয়াটি আমি হত্যা করতে চাই।

একটি উপায় যা আমি ভাবতে পারি তা হ'ল নাম দিয়ে প্রক্রিয়াগুলি শুরু করা (গ্রুপ হিসাবে আলাদা করা), তারপরে pkillনাম দিয়ে হত্যা করার জন্য ব্যবহার করুন।

প্রশ্নটি হল একটি নাম দিয়ে একটি প্রক্রিয়া কীভাবে শুরু করব যাতে আমি pkillতাদের নাম দিয়ে হত্যা করতে পারি ? আমি অন্যান্য সমাধানের জন্যও উন্মুক্ত।


আপনি কি জিজ্ঞাসা করছেন যে কোনও নামটি সাধারণত ব্যবহার করা হয় তার চেয়ে আলাদা নাম দিয়ে কীভাবে শুরু করবেন ? অথবা আপনি কেবল জিজ্ঞাসা করছেন কীভাবে কমান্ড-লাইন থেকে একটি প্রক্রিয়া শুরু করবেন?
এলিয়াহ কাগন

লিনাক্সে ডিফল্টরূপে প্রক্রিয়াটির নামটি তার ফাইলের নামের মতো দেখানো হয়। আমি এর ডিফল্ট ফাইলের নামটিকে প্রক্রিয়াটির নাম হিসাবে ব্যবহার করতে চাই না বা প্রতিবার চালানোর পরে ফাইলের নামটি পরিবর্তন করতে চাই না। সুতরাং আমি একটি নির্দিষ্ট নাম দিয়ে প্রক্রিয়াগুলি শুরু করতে চাই যা আমি চাই যাতে আমি 'পিকিল -ফ মাইওউননেম' ব্যবহার করতে পারি যে সমস্ত প্রসেসগুলি আমি সবে শুরু করে মাইওউননাম একবারে শুরু করেছি kill
ক্যাশে

উত্তর:


12

আপনি execশেল বিল্টিন ব্যবহার করতে পারেন :

bash -c "exec -a MyUniqueProcessName <command> &"

<command>বর্তমান শেলটি প্রতিস্থাপন করে, কোনও নতুন প্রক্রিয়া তৈরি হয় না, এজন্যই আমি কল করতে একটি নতুন শেল শুরু করছি exec

তারপরে আপনি এই প্রক্রিয়াটি মারতে পারেন:

pkill -f MyUniqueProcessName

আপনি একই নামে একাধিক প্রক্রিয়া শুরু করতে পারেন, তারপরে pkill -f <name>তাদের সকলকে হত্যা করবেন।


আপনি কীভাবে পূর্বাবস্থা করবেন bash -c "exec -a MyUniqueProcessName <command> &"?
ভিএনভিএন

1
@ VNVN- এ আপনি না পারছেন না যদি কোনও কমান্ড চালানো হয় তবে এটি চালানো হয়েছে। এটিকে "পূর্বাবস্থায় ফেরাতে" আপনাকে অবশ্যই সঠিকভাবে জানতে হবে এবং সম্ভব হলে ম্যানুয়ালি এটিকে পূর্বাবস্থায় ফিরিয়ে আনতে হবে। কমান্ড চালানোর সময় Ctrl + Z নেই।
টেরডন

+1 টি। আমার পর্যবেক্ষণটি হ'ল: exec -a name sleep 100আমি যখন করি ps -efতবে কখন তা করি না তার জন্য প্রদর্শিত নামটি pstree -p
ট্রেভর বয়েড স্মিথ

এটি মাইল্ডের জন্য কাজ করে না। ->bash -c "exec -a mymeld123 meld &"
এডুয়ার্ডো লুসিও

0

এএমআইটাক / সোলারিস এজেন্সি

আমার কাছে একটি অডিও ট্রান্সকোডিং সরঞ্জাম রয়েছে। (3 বার চলমান) তবে এর একমাত্র নাম রয়েছে।

আমি অনুসরণ করেছি। শেল সরঞ্জামটি থেকে বিন দির কাছে গিয়েছিলেন এবং এটিকে তিনবার অনুলিপি করে এটিকে একটি নতুন নাম দিয়েছিলেন। tc-1, tc-2, tc-3 (এটি ছোট সরঞ্জাম তাই এটি হার্ডডিস্ক স্পেস বেশি খাওয়া উচিত নয় (চর্বিযুক্ত বাইনারিগুলির সাথে আপনাকে অন্য উল্লিখিত উপায়ে ব্যবহার করা উচিত নয়)

সুতরাং প্রক্রিয়াটি একটি অনন্য নামের সাথে শুরু হয়েছিল এবং আমি চালিয়ে যেতে চাই এমন অন্যান্য ট্রান্সকোডিং প্রক্রিয়া হত্যার আশঙ্কা ছাড়াই এই অনন্য নামের সাথে হত্যা করা যেতে পারে।

আরও কৌশল কৌশল কাজ ....

একটি # বাশ স্ক্রিপ্ট Name.sh যুক্ত করুন, এটি কার্যকর করা যায়। সেখানে আপনার কমান্ড লিখুন এবং বাশ স্ক্রিপ্ট নিজেই শুরু করুন। Centos এ এটি তখন বাশস্ক্রিপ্ট নামটি ব্যবহার করে যা আপনি ছাড়িয়েছেন এবং বিন নামটি নিজেই নয়।

আশা করি কিছু সেখানে কাউকে সাহায্য করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.