পিএস কেবল কোনও প্রক্রিয়ার কমান্ড লাইনের 4096 টি অক্ষর পর্যন্ত মুদ্রণ করে


19

যখন আমি জাভা প্রক্রিয়াটির জন্য গ্রেপ করি আমি আউটপুট নীচে পাই তবে এটি 4096 টি অক্ষরের মধ্যে সীমাবদ্ধ যা ফলাফলের প্রকৃত নাম (যা কাফকা.কাফকা) grepফলাফল হিসাবে আউটপুট না দেখায় ।

এটি কি গ্রেপের সীমাবদ্ধতা? 4096 সীমা অতিক্রম অক্ষর মুদ্রণের কোন উপায় আছে?

ps -ef | grep java

java -Xmx6G -Xms6G -server -XX: + UseG1GC -XX: MaxGCPauseMillis = 20 -XX: IniatingHeapOccupancyPercent = 35 -XX: + DisableExpLiveGC -Djava.awt.headless = true -Xloggc: / x / kafka /01 app -লগস / কাফকা সার্ভার-জিসি.লগ -ভারবোজ: জিসি-এক্সএক্স: + প্রিন্টজিসিডিটেলস-এক্সএক্স: + প্রিন্টজিসিডিস্ট্যাম্পস-এক্সএক্স: + প্রিন্ট জিসিটিমেস্ট্যাম্পস -ডকম.সুন.ম্যানেজমেন্ট.জেএমএক্স্রমেট -ডকম.সুন.ম্যানেজমেন্ট.জমেক্স্রেমোট.অথেকটিকেট = sun.management.jmxremote.ssl = মিথ্যা -ডকাফকা.লগস.ডির = / এক্স / কাফকা / ডাটা01 / কাফকা-অ্যাপ-লগস -ডলোগ 4j.configration = ফাইল: ./../ কনফিগারেশন / লগ 4j.properties -cp: / x /home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/aopalliance-repackaged-2.4.0-b34.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10 -0.10.1.1 / বিন /../ লিব / argparse4j-0.5.0.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / কানেক্ট-api- 0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/ ../libs/connect-file-0.10.1.1.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/connect-json-0.10.1.1.jar:/ এক্স / হোম / bmcuser / কাফকা-পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / কানেক্ট-রানটাইম-0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10- 0.10.1.1/bin/../libs/guava-18.0.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/hk2-api-2.4.0 -b34.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / hk2-লোকেটার-2.4.0-b34.jar: / এক্স / হোম / bmcuser / কাফকা-পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / hk2-utils-2.4.0-b34.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/ বিন /../ লিব / জ্যাকসন-টীকা-2.6.0.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জ্যাকসন কোর-2.6.3 জার: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জ্যাকসন-databind-2.6.3.jar: / এক্স / হোম / bmcuser / কাফকা-পেপাল / kafka_2.10-0.10.1.1 / বিন / ../libs/jackson-jaxrs-base-2.6.3.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jackson-jaxrs-json-provider-2.6 .3.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জ্যাকসন-মডিউল-jaxb-টীকা-2.6.3.jar: / এক্স / হোম / bmcuser / কাফকা-পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / javassist-3.18.2-GA.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/ বিন /../ লিব / javax.annotation-API-1.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / javax.inject-1.jar : /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / javax.inject-2.4.0-b34.jar: / এক্স / হোম / bmcuser / কাফকা-পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / জাভা x.servlet-API-3.1.0.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/ .. /libs/javax.ws.rs-api-2.0.1.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jersey-client-2.22.2 জার:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jersey-common-2.22.2.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10 -0.10.1.1 / বিন /../ লিব / জার্সি-ধারক-সার্ভলেট-2.22.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জার্সি-ধারক-সার্ভলেট কোর-2.22.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জার্সি-পেয়ারা-2.22.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jersey-media-jaxb-2.22.2.jar:/x/home/bmcuser/kafka-paypal/kafka_2 .10-0.10.1.1 / বিন /../ লিব / জার্সি-সার্ভার-2.22.2.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জেটি-ধারাবাহিকতা-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জেটি-HTTP-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jetty-io-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jetty-security-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2 .10-0.10.1.1 / বিন /../ লিব / জেটি-সার্ভার-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জেটি-সার্ভলেট-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জেটি-সার্ভলেট-9.2.15.v20160210। বয়াম: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জেটি-util-9.2.15.v20160210.jar: / এক্স / হোম / bmcuser / কাফকা-পেপাল /kafka_2.10-0.10.1.1/bin/../libs/jopt-simple-4.9.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/ kafka_2.10-0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / kafka_2.10-0.10.1.1 যাতে/libs/jetty-server-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jetty-servlet-9.2.15.v20160210 জার: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জেটি-সার্ভলেট-9.2.15.v20160210.jar: / এক্স / হোম / bmcuser / kafka- পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / জেটি-util-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/ ../libs/jopt-simple-4.9.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/kafka_2.10-0.10.1.1.jar:/ এক্স / হোম / bmcuser / কাফকা-পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / kafka_2.10-0.10.1.1 যাতে/libs/jetty-server-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jetty-servlet-9.2.15.v20160210 জার: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin /../ লিব / জেটি-সার্ভলেট-9.2.15.v20160210.jar: / এক্স / হোম / bmcuser / kafka- পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / জেটি-util-9.2.15.v20160210.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/ ../libs/jopt-simple-4.9.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/kafka_2.10-0.10.1.1.jar:/ এক্স / হোম / bmcuser / কাফকা-পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / kafka_2.10-0.10.1.1 যাতে/libs/jetty-util-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jopt-simple-4.9.jar:/ এক্স / হোম / bmcuser / কাফকা-পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / kafka_2.10-0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10- 0.10.1.1/bin/../libs/kafka_2.10-0.10.1.1-so/libs/jetty-util-9.2.15.v20160210.jar:/x/home/bmcuser/kafka-paypal/kafka_2.10-0.10.1.1/bin/../libs/jopt-simple-4.9.jar:/ এক্স / হোম / bmcuser / কাফকা-পেপাল / kafka_2.10-0.10.1.1 / বিন /../ লিব / kafka_2.10-0.10.1.1.jar: /x/home/bmcuser/kafka-paypal/kafka_2.10- 0.10.1.1/bin/../libs/kafka_2.10-0.10.1.1-so


আপনি এই পোস্টে উল্লেখ করতে পারেন unix.stackexchange.com/questions/101681/…
কামরাজ

এটি সমস্যার সমাধান করেনি। আমার ধারণা এখানে সীমাবদ্ধতা 4096 বাইট।
zer0Id0l

3
মনে হচ্ছে সম্ভবত আপনি আপনার ক্লাসপাথ একটি অতি ছোট ওয়াইল্ডকার্ড সিনট্যাক্স ব্যবহার করে, করতে দেখতে পারে দেখায় stackoverflow.com/questions/219585/... , অথবা আপনি স্পষ্টভাবে env Var CLASSPATH ব্যবহার করে এটি স্থানান্তর করতে পারেন (সম্পূর্ণরূপে) কমান্ড বন্ধ; এর মধ্যে যে কোনওটির কাছে আপনার শ্রেণীর নাম দেখার জন্য কমান্ডলাইনটি যথেষ্ট সংক্ষিপ্ত করে তোলার ভাল সুযোগ রয়েছে। বা কেবল জাভা প্রক্রিয়াগুলির জন্য , যদি আপনার ইউআইডি অ্যাক্সেস পেয়ে থাকে এবং আপনার কাছে jpsজেডিকে থাকে বা কমান্ডলাইন কাটছাঁট না করে (কমপক্ষে লিনাক্সে) ক্লাসের নামটি দেখায়।
dave_thompson_085

1
@ স্লেবেটম্যান আমাকে নিশ্চিত যে ওপি সচেতন তবে স্ক্রিপ্ট যা সম্ভবত এটি তৈরি করেছে
বিড়াল

1
শিরোনামটি ইঙ্গিত দেয় যে ps -efআরও মুদ্রণ করে তবে গ্রেপ এটি পরিবর্তন করছে। মনে হচ্ছে ... ভিত্তিহীন।
চার্লস ডাফি

উত্তর:


35

এটি কোনও সীমাবদ্ধতা নয় grep, তবে /proc/PID/cmdline(প্রযুক্তিগতভাবে, একটি ডিজাইনের সিদ্ধান্ত, সীমাবদ্ধতা নয়)। /proc/PID/cmdlineমূল কমান্ড এবং যুক্তিগুলি ASCII NUL দ্বারা পৃথক করা সহ প্রক্রিয়াটির সম্পূর্ণ কমান্ড লাইন থাকে এবং ফাইলটি NUL- তেও শেষ হয়। সুতরাং, grepকোনও মিল থাকলে পুরো ফাইল সামগ্রীতে মুদ্রণ করবে will ( ps -efএই ফাইলটির সামগ্রী হিসাবে পাওয়া যায় CMD)।

সর্বাধিক দৈর্ঘ্যটি (লিনাক্স) কার্নেলে হার্ডকড করা আছেPAGE_SIZE :

static int proc_pid_cmdline(struct task_struct *task, char * buffer)
{
        int res = 0;
        unsigned int len;
        struct mm_struct *mm = get_task_mm(task);
        if (!mm)
                goto out;
        if (!mm->arg_end)
                goto out_mm;    /* Shh! No looking before we're done */

        len = mm->arg_end - mm->arg_start;

        if (len > PAGE_SIZE)
                len = PAGE_SIZE;

সুতরাং এই জাতীয় সিস্টেমের জন্য 4096 বাইট:

% getconf PAGE_SIZE
4096

এছাড়াও, আপনার যদি মাল্টিবাইট চরিত্র (গুলি) থাকে তবে চরিত্রের সংখ্যা 4096 এর চেয়ে কম হবে, আপনি কল্পনা করতে পারেন।


7
@ zer0Id0l আপনি পরিবর্তন করতে পারবেন না PAGE_SIZE: এটি হার্ডওয়ারের একটি সম্পত্তি। আপনাকে বৃহত্তর পৃষ্ঠার আকার সহ কয়েকটি নতুন হার্ডওয়্যার ডিজাইন করতে হবে, বা (অত্যন্ত সহজ…) cmdlineসঠিক মেমরি ম্যাপিং বা অনুলিপি প্রয়োগ করে সামগ্রীর সামগ্রীকে একটি পৃষ্ঠায় ছিন্ন করা সীমাবদ্ধতাটি সরিয়ে ফেলতে হবে ।
গিলস 'অশুভ হওয়া বন্ধ করুন'

4
এফডব্লিউআইডাব্লু, যখন গাইলস বলে যে এটি হার্ডওয়ারের একটি সম্পত্তি তার অর্থ এটি আপনার সিপিইউর এমএমইউর সম্পত্তি। সুতরাং আপনার 4k এর চেয়ে বড় আকারের এমএমইউ সহ একটি সিপিইউ ব্যবহার করতে হবে বা একটি আর্কিটেকচার ডিজাইন করতে হবে (এবং এর জন্য একটি মাদারবোর্ড + BIOS তৈরি করুন) যা পৃষ্ঠার আকার 4k এর চেয়ে বড় আকারের ব্যবহার করে (মনে রাখবেন, অতীতে এমএমইউ ব্যবহৃত হত) বাহ্যিক চিপ) বা আপনার নিজস্ব সিপিইউ (প্লাস সংকলক ইত্যাদি) ডিজাইন করুন। অন্য বিকল্পটি হল লিনাক্স কার্নেলটি সংশোধন করা যাতে proc_pid_cmdlinePAGE_SIZE ব্যবহার না করে
slebetman

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