Ich denke, es gibt keine Posix API diese Informationen direkt in C erhalten zu tun, müssen Sie Funktion popen() Befehlszeile aufrufen, diese Art von Informationen zu erhalten, Ich empfehle system() nicht, obwohl es mit popen ähnlich ist. (Display all process using a posix function).
Die maximale Systemprozessnummer kann mit dem Befehl ulimit eingestellt/überprüft werden.
popen("ulimit -a max user processes","r");
oder Sie können die aktuelle maximale Anzahl in laufenden Prozessen IDs überprüfen. (Ps aux zeigen alle Prozesse, sed letzte Zeile, und awk Fund Prozess-ID finden)
FILE *fp = popen("ps aux|sed -n '$p'|awk '{print $2F}'","r");
if(NULL!=fp)
{
char buff[1024];
fgets(buff,1024,fp);
printf("%s\n",buff);
pclose(fp);
}
Willkommen bei Stack-Überlauf! Bitte lesen Sie [wie Sie eine gute Frage stellen] (https://stackoverflow.com/help/how-to-ask). Ihre Frage sollte spezifisch sein und Ihr relevanter Code sollte [minimal, vollständig und verifizierbar] sein (https://stackoverflow.com/help/mcve). –