Senden Sie die Eingabe über den Dateideskriptor an den interaktiven Prozess

Senden Sie die Eingabe über den Dateideskriptor an den interaktiven Prozess

Wie finde ich den Dateideskriptor, aus dem ein Prozess Eingaben liest?

Hintergrund

Ich betreibe einVite(ausgesprochen „veet“) Server bei der Entwicklung in einem Alpine-Container. Derzeit melde ich mich beim Container an und starte Vite manuell mit dem Befehl vite --host '0.0.0.0' --port 3000, es übernimmt die Konsole und ermöglicht interaktive Eingaben. So kann ich beispielsweise den Server neu starten, wenn Dateiänderungen nicht beim Docker-Volume-Bind-Mount im Container registriert werden (Windows ist albern).

Problem

Ich möchte, dass der Container diesen Befehl beim Start ausführt. Wenn ich das tue, kann ich keine Befehle mehr senden, da Docker sie nicht weiterleitet.

Container, auf dem der Vite-Server ausgeführt wird

Ich habe dann ein Skript erstellt, das ausgeführt wird pnpm run dev &. Ich dachte, ich könnte die Prozess-ID des Vite-Servers abrufen und dann mit Eingaben an diesen Dateideskriptor senden echo "h" > /proc/17/fd/0, aber es passiert nichts. Ich habe auch PID 33 ausprobiert. Ich nahm an, dass ich die Eingaben an die falsche Stelle sende. Aber wie kann ich den richtigen Dateideskriptor finden, falls es einen gibt?

PS-Ausgabe im Container

PID   USER     TIME  COMMAND
    1 root      0:00 node /usr/local/bin/pnpm run dev
   17 root      0:00 node /root/task-01/node_modules/.bin/../vite/bin/vite.js --host 0.0.0.0 --port 3000
   33 root      0:00 /root/task-01/node_modules/.pnpm/@[email protected]/node_modules/@esbuild/linux-x64/bin/esbuild --service=0.20.
   39 root      0:00 sh
   47 root      0:00 ps

Haftungsausschluss: Dies sollte jetzt mit Docker Watch gelöst sein, da ich den Server nicht mehr manuell neu starten muss, wenn sich Dateien ändern. Ich möchte jedoch prüfen, ob dies möglich ist, da dies in anderen Fällen nützlich sein kann. Machen Sie mir auch keine Vorwürfe, wenn ich als Root arbeite, das mache ich normalerweise nicht.

verwandte Informationen