Ich möchte einige Fehler testen und dafür muss die PID größer als 99999 sein. Ich denke dabei an ein Bash-Skript, eine For-Schleife. Irgendwelche Ideen?
Antwort1
Sie könnten so etwas tun, um einen Prozess mit der gewünschten PID zu starten.
while true; do bash -c '[[ "$$" == 99999 ]] && echo PID is 99999'; done
Sie können warten, bis Sie die gewünschte PID erhalten, und die echo
Anweisung wahrscheinlich durch das ersetzen, was Sie tatsächlich testen müssen.
Verweise
wird nach dem Kill dieselbe PID verwendet?
BEARBEITEN
Warum wächst die PID-Nummer? Liegt es daran, dass Sie immer wieder eine andere Bash-Instanz ausführen?
Ich glaube, das, was Sie gesagt haben, ist das, was passiert. Dies könnte einfach wie folgt getestet werden.
while true; do bash -c 'echo $$' ; done
Wir konnten sehen, dass die PIDs weiter erhöht werden und aus der Manpage von bash
erkenne ich, dass
-c Zeichenfolge Wenn die Option -c vorhanden ist, werden Befehle aus der Zeichenfolge gelesen. Wenn nach der Zeichenfolge Argumente stehen, werden diese den Positionsparametern zugewiesen, beginnend mit $0.
Meines Wissens echo
wird jede Anweisung im obigen Test als separater Prozess ausgeführt, weshalb wir sehen konnten, dass die PIDs erhöht werden.
Antwort2
Was auch immer Sie versuchen, es gibt höchstwahrscheinlich den besseren Ansatz, aber wenn Sie entschlossen sind, etwas wie
while [[ 1 == 1 ]]; do sleep 10000& done
startet viele sleeps
, aber es kann eine Weile dauern, bis alle gestartet sind. Wenn Sie genügend Prozesse haben, klicken Sie einfach Ctrl-C
auf „ while
Schleife beenden“.