`PS` এর আউটপুট বাছাই করা হচ্ছে`


3

আমি psযেভাবে আশা করি তার সাথে কেন আচরণ করে না তা বোঝার চেষ্টা করছি । ম্যান পৃষ্ঠাগুলি থেকে, নিম্নলিখিত কমান্ডটি প্রদর্শন করা উচিত ppidএবং lstartআইটেম অনুসারে বাছাই করা lstartউচিত। তবে যখন আমি একই কমান্ডটি তিনটি ভিন্ন টার্মিনালে চালিত করি:

প্রথম পক্ষ:

gauthier@sobel:~/ $ ps -o ppid -o lstart --sort=lstart
 PPID                  STARTED
21142 Tue Dec 16 13:45:18 2014
 3383 Mon Dec 15 15:40:35 2014

দ্বিতীয় মেয়াদে:

gauthier@sobel:~/bin $ ps -o ppid -o lstart --sort=lstart
 PPID                  STARTED
19595 Tue Dec 16 13:45:03 2014
 3383 Mon Dec 15 14:49:14 2014

তৃতীয় শব্দ:

gauthier@sobel:~ $ ps -o ppid -o lstart --sort=lstart
 PPID                  STARTED
 3383 Tue Dec 16 13:39:05 2014
16357 Tue Dec 16 13:45:12 2014

এখানে বেশ কয়েকটি জিনিস আমি বুঝতে পারি না।

  • 1 এবং 2 পদগুলিতে আইটেমগুলি প্রথমে সাম্প্রতিকভাবে সাজানো হয়। মেয়াদ 3-এর আইটেমগুলি প্রাচীনতম অনুসারে বাছাই করা হয়। এমনকি বর্ণানুক্রমিক ক্রম বিবেচনা করেও আদেশগুলি পৃথক।

  • পিপিআইডি 3383 তিনটি শর্তেই একই, তবে বিভিন্ন প্রারম্ভিক সময়ে। দেখে মনে হচ্ছে বিভিন্ন প্রসেস হলেও বিভিন্ন স্বতন্ত্র পিপিআইডি একই হতে পারে?


সিস্টেমের তথ্য:

$ ps -V
procps-ng version 3.3.9
$ uname -a
Linux sobel 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

পিপিআইডি হ'ল প্যারেন্ট পিআইডি। একটি প্রক্রিয়া শিশু প্রসেসগুলির যে কোনও সংখ্যক (সীমাবদ্ধতার মধ্যে) আকাঙ্ক্ষিত করতে পারে যত তা চাইছে। আপনি প্যারেন্ট পিআইডি দেখাচ্ছে তবে সন্তানের শুরুর সময়।
মাদুর

ওহ, এটা বোঝা যায়! তবুও, তিনটি ক্ষেত্রেই তারিখগুলি একইভাবে সাজানো হয় না।
গৌথিয়ার

হ্যাঁ, সাজানোর ক্রমটি অদ্ভুত। আপনি কি PS এর OS এবং সংস্করণটি নির্দিষ্ট করতে পারেন? ( ps -V)
মাদুর

সিস্টেম তথ্য যুক্ত করতে সম্পাদিত।
গৌথিয়ার

উত্তর:


4

ps --sort=lstartআসলে এইlstart অনুসারে বাছাই করে না , এই সার্ভারফল্ট মন্তব্য অনুসারে :

lstartএকটি সম্পূর্ণ টাইমস্ট্যাম্প দেয়, তবে বাছাই কী হিসাবে ব্যবহার করা যায় না। start_time givesস্বাভাবিক 'শেষ 24 ঘন্টা সময়, অন্যথায় তারিখ' কলাম, এবং একটি বাছাই কী হিসাবে ব্যবহার করা যেতে পারে।

এটি স্পষ্টতই ps'ম্যান পেজগুলিতে নথিবদ্ধ , যেখানে বিভাগের lstartঅধীনে তালিকাভুক্ত নয় OBSOLETE SORT KEYS, তবে start_timeরয়েছে।

সোর্স কোড এই ব্যাক আপ নেয় দেখুন এই সংজ্ঞা লাইন 1506 থেকে শুরু করে:

/* Many of these are placeholders for unsupported options. */
static const format_struct format_array[] = {
/* code       header     print()      sort()    width need vendor flags  */
[...]
{"lstart",    "STARTED", pr_lstart,   sr_nop,    24,   0,    XXX, ET|RIGHT},
[...]
{"start_time", "START",  pr_stime,    sr_start_time, 5, 0,   LNx, ET|RIGHT},
[...]
};

সম্পাদনা : সঠিক উত্তরের ব্যাখ্যায় প্রসারিত হয়েছে এবং মূল উত্তরটির বিভ্রান্তিকর অংশটি সরিয়ে দিয়েছে।


মজাদার. আমি অবাক হই যে কী অদ্ভুত অভ্যন্তরীণ ফর্ম্যাটটি সংরক্ষণের জন্য ব্যবহৃত হয় lstart, এটি কালানুক্রমিক ক্রম অনুসারে বাছাই করে না। সার্ভারফল্ট মন্তব্যটি ছিল সমাধান ( start_timeপরিবর্তে ব্যবহার করে lstart)। আপনার উত্তরে এটিকে উদ্ধৃত করুন এবং আমি এটি গ্রহণ করব! ধন্যবাদ!
গৌথিয়ার

আসলে আউটপুট ফরম্যাটিং সম্পর্কে বিটটি ছিল একটি লাল হেরিং। অব্যবহারযোগ্য সাজানোর তুলনা সম্পর্কে কেবলমাত্র অংশটি ধারণ করতে আমি আমার উত্তর সম্পাদনা করেছি।
রবার্ট

0

আমি আমার gnu / টিউটোতে চেষ্টা করি, এ জাতীয় কোনও সমস্যা নেই, এটি এখানে:

 ~ # ps -o ppid -o lstart --sort=lstart
 PPID                  STARTED
 3851 Mon Dec 15 21:25:51 2014
 4037 Mon Dec 15 21:25:52 2014
 4042 Tue Dec 16 22:02:24 2014
 ~ # ps -o ppid -o lstart --sort=lstart
 PPID                  STARTED
 3851 Mon Dec 15 21:25:51 2014
 4037 Mon Dec 15 21:25:52 2014
 4042 Tue Dec 16 22:02:25 2014
 ~ # ps -o ppid -o lstart --sort=lstart
 PPID                  STARTED
 3851 Mon Dec 15 21:25:51 2014
 4037 Mon Dec 15 21:25:52 2014
 4042 Tue Dec 16 22:02:26 2014
 ~ # ps -V
procps-ng version 3.3.9
 ~ # uname -a
Linux  3.12.21-gentoo-r1 #9 SMP Fri Nov 28 18:59:44 CST 2014 i686 Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz GenuineIntel GNU/Linux

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