টার্মিনাল দিয়ে কীভাবে নরম কিল গুই অ্যাপ্লিকেশনগুলি ব্যবহার করবেন?


22

অ্যাপ্লিকেশন উইন্ডোতে গ্রাফিকাল অ্যাক্সেস ছাড়াই বন্ধুত্বপূর্ণ " দয়া করে এখন নিজেকে ছেড়ে দিন " উপায়ে জিইউআই অ্যাপ্লিকেশনটি বন্ধ করার কোনও উপায় আছে কি ?

উদাহরণস্বরূপ, জিনোম / এক্স ডিসপ্লে যদি কালোতে ক্র্যাশ হয় তবে আমি tty2 এ যেতে চাই এবং ফায়ারফক্সের মতো অ্যাপ্লিকেশনগুলি এমনভাবে বন্ধ করতে চাই যা তাদের কনফিগারেশন ইত্যাদি সেভ করতে দেয় সর্বোপরি ব্যবহারকারীর অনুসন্ধান ছাড়াই।

উত্তর:


19

সাধারণত, আপনি অ্যাপ্লিকেশনটি বন্ধুত্বপূর্ণভাবে বন্ধ করতে (গ্রাফিকাল ইন্টারফেস সহ বা ছাড়াই) সাইনআপ ব্যবহার করতে পারেন।

kill -HUP <application_pid>

সম্পাদিত : অন্য কিছু তথ্য যুক্ত হয়েছে

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

অন্যদিকে, আমাকে স্বীকার করতে হবে যে আমি সাধারণত এই স্কিমাটি অনুসরণ করি:

kill -HUP <application_pid>
# check if application is still running
kill -INT <application_pid>
# check if application is still running
kill -KILL <application_pid>

স্পষ্টতই শেষ আদেশটি "বন্ধুত্বপূর্ণ" নয়।


3
আপনি যদি অ্যাপ্লিকেশনটির পিআইডি না জানেন তবে আপনি pkillতার পরিবর্তে এক্সিকিউটেবলের নাম নির্দিষ্ট করতে ব্যবহার করতে পারেন । উদাহরণস্বরূপ:pkill -HUP firefox-bin
কালেব

@ ডেভও: আকর্ষণীয়, আমি এটি সম্পর্কিত পেয়েছি যা অনুরূপ তবে বিপরীত আদেশের প্রস্তাব দেয়: শর্ত-> আইএনটি-> এইচপি (বার্ধক্যের কথা বিবেচনা করুন)। হতে পারে আমি HUP-> INT-> TERM কে মাথায় রাখব, যেহেতু কিল আমার পক্ষে বন্ধুত্বপূর্ণ বলে মনে হয় না। সবাইকে ধন্যবাদ.
jfk

@ কালেব, যেখানে একই নামের একাধিক প্রক্রিয়া রয়েছে সেখানে কেবল সতর্ক থাকুন: pkillএগুলি সকলকে মেরে ফেলবে। যেমন, এই কিছু ব্যাকগ্রাউন্ড প্রসেস করতে কয়েক বার সঞ্চালন করুন: sed "s/Woo/woo/" < /dev/urandom >> /dev/null &। তাহলে কর pkill -HUP sed। আপনি শুরু করেছেন সেডের সমস্ত দৃষ্টান্ত এবং দরকারী কাজ করে অন্য কোনও দমনকে আপনি হত্যা করবেন ।
আহকক্স

@Caleb পরন্তু, pkillএছাড়াও কিছু অ্যাপ্লিকেশান আপনাকে আশা করবেন না মেরে ফেলবে: আপনি আছে যেমন chromiumদৌড়োনো এবং একটি প্রোগ্রাম নামক হত্যা করতে চান rom, pkillসুখে ছুঁড়ব chromiumনিচে। আরও ভাল ব্যবহার killall, যা কেবলমাত্র সঠিক নামের সাথে মিলবে (যদিও সোলারিসে নয়, যেখানে এটি আক্ষরিকভাবে সমস্ত প্রক্রিয়াটিকে হত্যা করে )।
রুসলান

@ রুসলান বা pkill -xআংশিক ম্যাচের পরিবর্তে একটি সঠিক ম্যাচ পেতে ব্যবহার করুন । আমি ব্যক্তিগতভাবে টাইপিং সংরক্ষণের জন্য আংশিক মিলের সুবিধা গ্রহণ করি তবে আপনাকে কী করতে হবে তা জানতে হবে। হ্যাঁ, ডিফল্টরূপে এটি আংশিক স্ট্রিংগুলির সাথে মেলে। আর একটি দরকারী বিকল্প হ'ল -fন্যায়বিচারের পরিবর্তে সম্পূর্ণ কমান্ড লাইনের বিপরীতে মিল $0
কালেব

5

আপনি চেষ্টা করতে পারেন:

kill -TERM <pid>

অথবা

kill -TERM `pidof <application_name>`

কমপক্ষে কয়েকটি সিস্টেমে, যখন সিস্টেমটি শাটডাউন চলছে, সমস্ত প্রক্রিয়াগুলি কেআইআরএল (9) সংকেত প্রেরণের আগে তাদের টিআরএম (15) সংকেত প্রেরণ করবে। HUP প্রায়শই অ্যাপ্লিকেশনটিকে তার কনফিগারগুলি পুনরায় লোড করার কারণ দেয় তবে প্রক্রিয়া অনুসারে প্রক্রিয়া ভিত্তিতে এটি পৃথক হতে পারে can


2

কোনও অ্যাপ্লিকেশনকে প্রস্থান করতে এবং এর কনফিগারেশনটি সংরক্ষণ করতে বলার কোনও সাধারণ উপায় নেই। নির্দিষ্ট ফ্রেমওয়ার্ক ব্যবহার করে অ্যাপ্লিকেশনগুলিকে অবহিত করার বিভিন্ন উপায় থাকতে পারে, যেমন dcop kfoo MainApplication-Interface quitকিছু কিছু কেডি 3 অ্যাপ্লিকেশনর জন্য। মনে রাখবেন যে অ্যাপ্লিকেশনটি আপনাকে একটি নিশ্চিত করার জন্য জিজ্ঞাসা করে একটি ডায়ালগ বক্স দেখাচ্ছে।

যদি এক্স ডিসপ্লে অযোগ্য হয়ে যায়, এক্স সার্ভারটি মেরে ফেলুন। Ctrl+ Alt+ টিপুন BackSpace; যদি এটি কাজ না করে তবে এক্স সার্ভার প্রক্রিয়াটি দিয়ে হত্যা করুন sudo pkill -x Xorg। যখন এক্স সার্ভারটি মারা যায়, সমস্ত এক্স অ্যাপ্লিকেশনগুলিকে অবহিত করা হয় এবং তারা মনোযোগ দিয়ে প্রস্থান করার চেষ্টা করবে (তারা যে সমস্ত কিছু সংরক্ষণ করবে তার কোনও গ্যারান্টি নেই, তবে এটি আপনার সেরা বাজি)।


আমি জানতাম না অ্যাপগুলিকে অবহিত করা হবে বা খুন করা হবে কিনা; এবং ফেডোরায় ডিফল্টরূপে কী কম্বো সক্ষম করা হয়নি ..... এখন কমান্ড লাইনে কীভাবে এটি হত্যা করা যায় তা আমি জানি!
jfk

1

আকিনের @ অ্যান্ডকোজের উত্তর, আপনি যদি অ্যাপ্লিকেশনটির পিআইডি না জানেন (আমি ধরে নিচ্ছি যে আপনি এটি হৃদয় দিয়ে জানেন না), এটি চেষ্টা করুন:

kill -HUP `pidof [application_name]`

2
এটি আরও একধাপ এগিয়ে নিয়ে যান এবং চেষ্টা করুন pkill -HUP [application_name]:)
কালেব

সবেমাত্র পিল এবং পিগ্রিপ শিখেছি: D
jfk

1

আপনি যে দুটি কমান্ড বিবেচনা করতে চাইতে পারেন তা হ'ল wmctrl -cএবং xdotool windowkill। আমি নিশ্চিত নই windowkillযে আপনি ঠিক কী পরে আছেন, না হলে আপনার windowdeleteপ্যাচটিতে আগ্রহী ।

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