Ich bin sehr neu im Bash-Scripting, daher belle ich möglicherweise den falschen Baum an, aber hier ist meine aktuelle Situation:
In einem Skript starte ich soffice ; ein odt in ein pdf konvertieren
Es sieht so aus, als ob sich Soffice vom Script-Prozess löst und sich auf den Weg macht, um sein eigenes Ding zu machen. Okay, das ist in Ordnung. GUI-Apps neigen dazu, das zu tun ...
Ich muss jedoch warten, bis das neue PDF vollständig geschrieben wurde, da der nächste Schritt die Verarbeitung dieses neuen PDFs umfasst .
(Soweit ich weiß) Ich kann die Prozess-ID von soffice nicht verwenden, da sie möglicherweise bereits ausgeführt wurde, bevor mein Skript gestartet wurde: z. soffice ist möglicherweise bereits für normale GUI-Aktivitäten für ein anderes Dokument / eine Präsentation / eine andere Tabelle geöffnet.
Der springende Punkt für mich ist, dass das Schreiben des neuen PDFs abgeschlossen sein muss , bevor ich fortfahren kann ...
Gibt es eine Möglichkeit, festzustellen, wann eine Datei nicht mehr für einen anderen Prozess im Schreibmodus geöffnet ist? ...
quelle
if [ -f test.odf ]
. (bash script kann manchmal so kryptisch sein ...)lsof -- /path/to/file
stattdessen, dengrep
'ing