مقدار البيانات التي يمكن تمريرها كوسائط سطر الأوامر؟

StackOverflow https://stackoverflow.com/questions/1480110

  •  18-09-2019
  •  | 
  •  

سؤال

كم عدد البايتات التي يمكن إرسالها كوسيطة سطر الأوامر عند التفريخ عملية تحت Linux؟

هل كانت مفيدة؟

المحلول

Gahooa يقترح مقالة جيدة في http://www.in-ulm.de/~mascheck/various/argmax/, ، ولكن إذا اختفت هذه الصفحة يوما ما، فإليك لحم الأمر: للعثور على الحد الأقصى لطول وسيطات سطر الأوامر تجربة واحدة مما يلي

* command: getconf ARG_MAX
* system call: sysconf(_SC_ARG_MAX)
* system header: ARG_MAX in e.g. <[sys/]limits.h>

نصائح أخرى

توضح المقالة الجيدة المشكلة:

http://www.in-ulm.de/~mascheck/various/argmax/

هذا القصاص سيخبرك.

#include <stdio.h>
#include <unistd.h>

int main(int argc, char** argv)
{
    const long value = sysconf(_SC_ARG_MAX);
    printf("ARG_MAX: %ld\n", value);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top