জিএনইউ লিনাক্স (আর্চ লিনাক্স) এ সাইন ইন করুন


12

আমি একটি অ্যাপ্লিকেশন বিকাশ করছি এবং আমি এটি দাবিতে কনসোলে কিছু রানটাইম পরিসংখ্যান মুদ্রণ করতে চাই। killএবং সাথে সাথে আমার মনে সংকেতগুলি এলো।

উইকিতে ইউনিক্স সিগন্যালের মাধ্যমে পড়া SIGINFOমনে হচ্ছে, যাওয়ার পথে মনে হচ্ছে কারণ:

  • এটা তোলে হয় অভিপ্রেত এই উদ্দেশ্যে
  • সিগন্যাল হ্যান্ডলারটি বাস্তবায়িত না হলে প্রক্রিয়াটি শেষ করে না (বিপরীতে SIGUSRx- এখানে দেখুন )

তবে এর আউটপুট পরীক্ষা করে দেখে kill -lমনে হচ্ছে যে আমার সার্ভারটিতে এই সংকেতটি প্রয়োগ করা হয়নি।

আমার প্রশ্নগুলি হ'ল:

  1. SIGINFOআমার সিস্টেমে কেন অনুপস্থিত? এটি কি সমস্ত জিএনইউ লিনাক্স সিস্টেমে অনুপস্থিত?
  2. এই সিগন্যালটি সক্ষম করার জন্য কি কোনও সহজ (যেমন কোনও কার্নেল / গ্লিবসি পুনঃসংশোধন) নেই? যদি কিছুই না হয়, তবে কঠিন উপায় কী হবে?
  3. লক্ষ্য প্রক্রিয়া দ্বারা পরিচালিত না হলে আমি কোন বিকল্প সংকেত আমার উদ্দেশ্যগুলির জন্য ব্যবহার করতে পারি যা কোনও প্রতিক্রিয়া সৃষ্টি করতে পারে না? (আমি ইতোমধ্যে কোনওটিকেই ধরে নিই না যেহেতু আমি গ্লিবিসি'র ম্যানুয়ালটিতে অন্য কোনও উপযুক্ত সিগন্যাল পাইনি )

লিনাক্স মেটেনফো:

Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux

আপডেট: আমি এখনও কেন বিসিডির চেয়ে অন্যান্য সিস্টেম থেকে শর্তসাপেক্ষে এই সংকেতটি বাদ দেওয়া হয়েছে সে সম্পর্কে আরও তথ্যের সন্ধান করছি (নীচে মন্তব্য দেখুন)। সিগন্যালটি অনেকগুলি উদ্দেশ্যে বেশ কার্যকর বলে মনে হচ্ছে সুতরাং এটি বিশ্বাস করা আমার পক্ষে কঠিন যে এটি কেবল কৌতুকপূর্ণ বিষয় - তাই লিনাক্সে এই সংকেতটি উপলভ্য হওয়ার জন্য আসল শোস্টপারটি কী?


2
না ^Tআউটপুট প্রদর্শিত stty -a?
মার্ক প্লটনিক

আহ, এটি হয় না - আমি অবশ্যই ddআমার ম্যাকের সাথে বর্ণিত আচরণটি ভুল করে ফেলেছি। এক্সিকিউশন ^Tচলাকালীন ddলিনাক্স মেশিনে কিছুই করেনা - আমি সেই অনুযায়ী প্রশ্নটি আপডেট করব।
রবার্ট রসম্যান

হ্যাঁ, Ctrl-T এবং SIGINFO হ'ল বিএসডি (এবং ম্যাকোএসএক্স) বৈশিষ্ট্য।
মার্ক প্লটনিক

কিন্তু জিএনইউ সি লাইব্রেরিতে সিগন্যালটি সংজ্ঞায়িত করা হয়েছে যা লিনাক্স সিস্টেমগুলি ব্যবহার করে ... তা কি তখন উদ্দেশ্য অনুসারে অক্ষম করা হয়?
রবার্ট রসম্যান 20

1
@ রবার্টরোসমান, সিগন্যালগুলি কার্নেল দ্বারা সরবরাহ করা হয়েছে। প্রশ্নটি হল কেন লিনাক্স কার্নেল এটি প্রয়োগ করে না (কারণ তারা সিসভি সংকেতগুলি অনুলিপি করেছিল, সম্ভবত)।
অ্যাঞ্জেল

উত্তর:


4

এটি যুক্ত করার বিষয়ে (লিনাক্স 0.x-1.x দিনগুলিতে) কথা ছিল (কারণ এটি BSD সিস্টেমে কার্যকর ছিল) তবে আমি যদি সঠিকভাবে মনে করি তবে লিনাক্সে বিএসডি-র চেয়ে সঠিক কাজ করা শক্ত ছিল এর কারণগুলি ছিল at ।

নোট যে কি আপনার সম্পর্কে বলছি শুধুমাত্র বৈশিষ্ট্য (যথা, আপনি একটি বিষয়ে কথা বলছি একটি ছোট অংশ stty infoপ্রদান করা কার্নেল ঘটাচ্ছে নিয়ন্ত্রণ-টি জন্য এন্ট্রি SIGINFOকরতে ttyএর প্রক্রিয়া গ্রুপ) - যে অংশ "সহজ" হয় - প্রক্রিয়া স্থিতি সম্পর্কে যখন কার্নেল রিপোর্ট দেয় যখন এটি সংকেতটি পরিচালনা করে না (কারণ সেই সময়ে খুব অল্প কিছু জিনিসেরই কোনও সমর্থন ছিল, বৈশিষ্ট্যটি ছিল মূলত "এই প্রক্রিয়াটি ঘুরানো বা ঝুলানো" এবং "কী প্রক্রিয়াটি তা হয়) এটি যাইহোক ") আরও শক্ত - আইএসটিআর এমনকি সেই তথ্যটি সঠিকভাবে প্রদর্শন করার বিষয়ে সুরক্ষা / বিশ্বাসের সমস্যা রয়েছে এবং এটি নিরাপদ মনোযোগ কী পথের সাথে যুক্ত করা উচিত। এটি বলেছিল, "সহজ" সংস্করণে কিছু মান থাকতে পারে যা কেবলমাত্র সংকেত প্রেরণ করে ...

(ব্যক্তিগত স্মৃতি থেকে; একটি দ্রুত ওয়েব অনুসন্ধানে সুস্পষ্ট কিছুই পরিণত হয় না তবে আমি মনে করি আলোচনার জন্য কাউকে সত্যিকারের পুরানো সংরক্ষণাগারগুলির মধ্যে খনন করতে হবে ))


1

আপনার প্রশ্ন 1) সম্পর্কিত:

থেকে man 7 signalএকটি আর্চ লিনাক্স সিস্টেমে:

SIGINFO 29, -, - SIGPWR এর প্রতিশব্দ

...

(সিগন্যাল ২৯ হ'ল একটি আলফায় সিগনফো / সিআইপিপিডাব্লুআর তবে একটি ফাঁকে সাইনগলস্ট ST )

...

SIGPWR (যা POSIX.1-2001 এ নির্দিষ্ট নেই) সাধারণত অন্যান্য UNIX সিস্টেমে যেখানে প্রদর্শিত হবে সেখানে ডিফল্টরূপে তা অগ্রাহ্য করা হয়।

এই সংজ্ঞা দ্বারা, SIGINFOশুধুমাত্র আলফা বা স্পার্ক আর্কিটেকচারে উপলব্ধ।

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