Gibt es einen Weg in Linux, das ist einigermaßen portabel (hauptsächlich zu OSX/BSDs), auf einen Prozess zu warten, um eine Datei zu öffnen? Ich weiß, dass ich inotify dafür verwenden kann, aber OSX unterstützt es nicht. Eine Einschränkung ist, dass ich die PID des Prozesses nicht wirklich kennen werde, also ist es exec() - ed über/bin/sh wie popen, so dass nur die Überwachung des Verzeichnisses/proc // fd nicht funktioniert.Portable Art zu warten, bis der Prozess die Datei öffnet?
0
A
Antwort
2
Es gibt mehrere verfügbare Bibliotheken oder Befehlszeilentools, die für diesen Zweck geeignet sind, mit Backends, die Linux und MacOS umfassen.
Betrachten Sie fswatch, oder einer seiner Konkurrenten (wenn wir uns auf einzelne Bibliotheken zu diskutieren, wäre dies in explizit-off-topic Territory).
Verwandte Themen
- 1. Warten Sie, bis der Prozess beendet ist
- 2. Warten Sie, bis ein Prozess
- 3. Warten Sie, bis die Datei vom Prozess freigegeben wird
- 4. Warten, bis System.Diagnostics.Process.Start fertig ist
- 5. Warum warten Sie nicht, bis der Prozess beendet wird?
- 6. Wie warten, bis der Prozess mit IO.popen beendet ist?
- 7. Warten Sie, bis der untergeordnete Prozess in R
- 8. VBScript - Wie Programm warten bis Prozess abgeschlossen ist?
- 9. Warten bis Datei vollständig geschrieben ist
- 10. Wie warten, bis der Prozess in Perl ausgeführt wird, wenn der Prozess nicht untergeordnet ist?
- 11. Vektor Größenanpassung - portable Art zu erkennen
- 12. Warten bis die Rückruffunktion zurückkehrt?
- 13. Kill einen Prozess und warten auf den Prozess zu beenden
- 14. Warten bis File.Exists?
- 15. Warten, bis glutPostRedisplay() aktualisiert
- 16. Warten, bis ein Prozess in "nativem" C++ existiert?
- 17. Prozess ausführen und nicht warten
- 18. So warten Sie, bis der Systembefehl endet
- 19. Warten auf Prozess
- 20. warten bis Seite aktualisiert
- 21. Warten Sie, bis der vorherige Prozess beendet ist, bevor Sie einen neuen starten
- 22. Warten bis QWidget schließt
- 23. Zombie-Prozess entfernen, ohne zu warten C
- 24. warten, bis die Seite geladen ist
- 25. Python: Warten Sie, bis der Prozess beendet ist, bevor Sie in der Schleife fortfahren?
- 26. Winkelmesser Warten, bis die Animation abgeschlossen ist
- 27. Angular2: Warten, bis der Service initialisiert wird
- 28. Warten, bis die Array-Funktion beendet ist:
- 29. Ajax warten, bis Redirect die Ausführung beendet.
- 30. Warten bis die Funktion geladen ist
Ich hatte gehofft, eine Bibliothek zu vermeiden, aber Ihr Link gab mir den Tipp, kqueue, also vielleicht kann ich einfach einen Monitor mit dieser API und #ifdef schreiben, wenn ich nicht unter Linux bin ... –
fswatch braucht N verschiedene Backends, weil es * keinen einzigen effizienten, tragbaren Ansatz gibt - wenn das der Fall wäre, wäre das Tooling für den Job viel einfacher. –