কেন "কিল" আদেশ বলা হয়?


17

কেন killকমান্ডকে "হত্যা" বলার সিদ্ধান্ত নেওয়া হয়েছিল ?

মানে, হ্যাঁ, এই ইউটিলিটিটি প্রায়শই প্রক্রিয়াগুলি বন্ধ করতে ব্যবহৃত হয়, তবে এটি আসলে কোনও সংকেত প্রেরণে ব্যবহার করা যেতে পারে।

এটা কি কিছুটা বিভ্রান্তিকর নয়? কিছু historicalতিহাসিক কারণও থাকতে পারে।

আমি কেবল জানি man killযে এই আদেশটি সংস্করণ 3 এটিএন্ডটি ইউনিক্সে উপস্থিত হয়েছিল।


8
নিশ্চয় আপনি আপনার নিজের প্রশ্নের উত্তর দিয়েছেন, কমান্ডটি প্রক্রিয়াগুলি সমাপ্ত করার উপায় হিসাবে উত্পন্ন হয়েছিল - অনেক দিন আগে (historicalতিহাসিক কারণ)। একবার আপনার কাছে এমন কোনও সরঞ্জাম রয়েছে যা সিগন্যালগুলি প্রেরণ করে যে এটি প্রায় অনিবার্য যে এটি পুনর্নির্মাণ হবে ...
মার্ফ

2
(হাইপারবোলে) যদিও স্ট্রেইট ইউনিক্সের সাথে আমার খুব কম অভিজ্ঞতা আছে, এটি কি কমান্ডের নামগুলির সংকোচনের সাথে সম্পর্কিত হতে পারে? উদাহরণস্বরূপ বেশিরভাগ কমান্ডের খুব ছোট নাম "man", "ls", "cd" "mkdir" থাকে। টার্মিনালের জন্য এটি 80 কলামের সীমা সম্পর্কিত। আবার, আমি নিশ্চিত হতে পারি না যে আমি সরাসরি ইউনিক্সের সাথে প্রচুর পরিমাণে অভিজ্ঞতা পাইনি
জেমি টেলর

2
@ জ্যামি টেইলর: আমি মনে করি শর্ট কমান্ডের নামগুলির মূল কারণটি অলসতা। আমরা বেশি টাইপ করতে পছন্দ করি না। আমি সম্প্রতি শিখেছি যে cdডাকা হত chdir, যা অবশ্যই পাগলামি! এই জাতীয় প্রচলিত ক্রিয়াকলাপের জন্য 5 টি অক্ষর? আমি যারা ওরফে জানেন lsকরতে l;-)
জোয়াকিম সয়ার

3
কারণ প্রোগ্রামাররা assassinate
প্রতিটিবার

1
@ শ্যাবুনক - ধন্যবাদ, আমি দেখতে পাচ্ছি যে আমার উত্তরের ক্রমটি কীভাবে বিভ্রান্তিকর হতে পারে, তাই আমি এটিকে আরও প্রত্যক্ষ উত্তর করার জন্য পুনরায় আদেশ দিয়েছি।
বুথ

উত্তর:


23

মূলত, killকমান্ডটি কেবলমাত্র একটি প্রক্রিয়াটিকে হত্যা করতে পারে, কেবল পরে killআপনাকে কোনও সংকেত প্রেরণের অনুমতি দেওয়ার জন্য বাড়ানো হয়েছিল ।

ইউনিক্সের version তম সংস্করণ (1979) থেকে ডিফল্টটি প্রক্রিয়াটিকে এমনভাবে সংকেত দেওয়া হয়েছিল যা ধরা পড়ে এবং দক্ষতার সাথে পরিচালনা করা যায় বা অগ্রাহ্য করা যায় (একটি সিগমেন্টার সিগন্যাল প্রেরণ করে ), তবে এটি গালিটি নীচে থেকে টানতেও ব্যবহার করা যেতে পারে একটি প্রক্রিয়া (একটি সিগকল সিগন্যাল kill -9প্রেরণ করে যা ধরা যায় না এবং তাই এড়ানো যায় না)।

পটভূমি

কম্পিউটিং, এবং বিশেষত ইউনিক্স রূপকের মাধ্যমে ছড়িয়ে পড়ে।

প্রক্রিয়াগুলির প্রধান রূপক হ'ল একটি জীবন্ত জিনিস যা জন্মগ্রহণ করে, জীবনযাপন করে এবং মরে যায়।

ইউনিক্স ছাড়া সকল প্রক্রিয়ার Init আছে বাবা , এবং যে কোনো প্রক্রিয়া যার spawns প্রক্রিয়া হয়েছে শিশুদের । প্রক্রিয়াগুলি অনাথ হতে পারে (যদি তাদের পিতামাতার মৃত্যু হয়) এবং এমনকি মৃত্যুর পরে যদি তারা ঝুলে থাকে তবে এটি জম্বিও হতে পারে।

সুতরাং, killআদেশটি এই রূপকের সাথে খাপ খায়।

ইউনিক্স প্রত্নতত্ত্ব

থেকে ম্যানুয়েল পৃষ্ঠা ইউনিক্স (সংস্করণ যেখানে সংস্করণ 4 থেকে killএর সূচনা হয় সহ ps) আমরা খুঁজে পেয়েছেন:

NAME
        kill - do in an unwanted process
SYNOPSIS
        kill processid ...
DESCRIPTION
        Kills the specified processes.
        The processid of each asynchronous process
        started with `&' is reported by the shell.
        Processid's can also be found by using ps (I).

        The killed process must have
        been started from the same typewriter
        as the current user, unless
        he is the superuser.
SEE ALSO
        ps(I), sh(I)

আমি বিশেষত এই ম্যান পেজের চূড়ান্ত বিভাগটি পছন্দ করি:

BUGS
        Clearly people should only be allowed to kill
        processes owned by them, and having the same typewriter
        is neither necessary nor sufficient.

পঞ্চম সংস্করণ ঘনিয়ে আসার পরে, killকোনও সংকেত প্রেরণের অনুমতি দেওয়ার জন্য কমান্ডটি ইতিমধ্যে ওভারলোড হয়ে গিয়েছিল।

থেকে ইউনিক্স প্রোগ্রামাররা ম্যানুয়াল, পঞ্চম সংস্করণ (p70):

If a signal number preceded by "-" is given
as an argument, that signal is sent instead of
kill (see signal (II)).

ডিফল্ট যদিও সিগন্যাল 9 প্রেরণ করা ছিল, কারণ 15 সংকেত এখনও উপস্থিত ছিল না (দেখুন পি 150)।

সঙ্গে সংস্করণ 6kill man পৃষ্ঠা আর উল্লিখিত একই টাইপরাইটার বাগ।

এটি কেবল ইউনিক্সের version সংস্করণেই সংকেত 15 চালু হয়েছিল (দেখুন সংকেত (2) এবং কিল (1) ম্যান পৃষ্ঠাগুলি ভি 7) এবং killসিগন্যাল 9 ব্যবহার করার পরিবর্তে এতে স্যুইচ করা হয়েছে।


26

এটি ইউনিক্স।

kill একটি প্রক্রিয়া হত্যা করতে সক্ষম।

mv নাম পরিবর্তন করতে সক্ষম এবং কেবল ফাইলগুলি এক জায়গা থেকে অন্য জায়গায় সরিয়ে নিতে সক্ষম।

touch একটি ফাইল তৈরি করতে সক্ষম হয় এবং এটির সর্বশেষ পরিবর্তনের সময়টি পরিবর্তন করে না।

od এর অর্থ অক্টাল ডাম্প, তবে আরও অনেক ধরণের ডাম্প করতে সক্ষম।

yes নং আউটপুট করতে সক্ষম

আরও বিদেশী:

grepedএকই অপারেশন সম্পাদনের আদেশ অনুসারে নামকরণ করা হয়েছে :g/re/p

awk এর লেখকদের নাম অনুসারে: আহো, ওয়েইনবার্গার এবং কার্নিগান K

yaccতবুও আরেকটি সংকলক সংকলক। নোটটি bisonহ'ল জিএনইউ ইয়্যাক।


17
পুরোপুরি সুষ্ঠু হওয়ার জন্য, কোনও ফাইল সরিয়ে নেওয়া এবং নাম পরিবর্তন করার মধ্যে পার্থক্য বরং স্বেচ্ছাসেবী। একটি ফাইলের "নামকরণ" কেবল একটি ভিন্ন জায়গায় চলেছে যা একই ডিরেক্টরিতে ঘটে।
টিখন জেলভিস

এমভি একটি নতুন ইনোড (?) তৈরি করে এবং ফাইলের সামগ্রীর উল্লেখটি পুরানো ইনোড থেকে নতুনটিতে সরিয়ে দেয়। একই ডিভাইসে না থাকলে ব্যতীত। তারপরে এটি সামগ্রীগুলি অনুলিপি করে এবং ইনোডটিকে সরিয়ে দেয়।
পল

3
মজার বিষয় হ'ল আপনি কোনও ফাইলকে এমভি / আরএম করতে পারবেন যা অন্য প্রক্রিয়া দ্বারা খোলা। অন্যান্য প্রক্রিয়াটিতে এখনও ফাইল সামগ্রীর উল্লেখ রয়েছে to অন্যান্য ওএস থেকে পৃথক
পল

আমাকে হ্যাঁর সাথে বিভ্রান্ত করার জন্য +1 এর অর্থও
জেমি টেলর

@ পল - আমার ইউনিক্সটি বেশ মরিচা, তবে আমি মনে করি আপনি এটি কিছুটা পিছিয়ে আছেন। ইনোড হ'ল ফাইলটির অনন্য শনাক্তকারী। সুতরাং, একই ডিভাইসের ক্ষেত্রে, একই ইনোডের দিকে নির্দেশ করে একটি নতুন ডিরেক্টরি এন্ট্রি তৈরি করা হয় এবং তারপরে মূল ডিরেক্টরি এন্ট্রি সরিয়ে ফেলা হয়। আমি অবাক হয়েছি কেন অ্যাপল "ইনোড" এর উপরে কারও বিরুদ্ধে মামলা করেনি?
ওল্ডফার্ট

0

ইউনিক্স সংস্করণ 7 কিল ম্যানুয়াল পৃষ্ঠাতে বলেছেন:

kill - terminate a process with extreme prejudice

এবং

This will kill processes that do not catch the signal; in particular `kill -9 ...'  is a sure kill.

এই কমান্ড কিল না বলা ভাল কারণ যা অবশ্যই সেরা রূপক উপলব্ধ।

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