Saya sangat baru di bash scripting, jadi saya mungkin menggonggong pohon yang salah, tapi di sini adalah situasi saya saat ini:
Dalam sebuah skrip, saya memulai soffice ; untuk mengubah odt ke pdf
Tampaknya soffice melepaskan diri dari proses skrip, dan mengembara untuk melakukan hal sendiri .. Oke, tidak apa-apa; Aplikasi GUI cenderung melakukan itu ...
Namun saya harus menunggu sampai pdf baru telah sepenuhnya ditulis, karena langkah saya selanjutnya melibatkan pemrosesan pdf baru .
(Sejauh yang saya tahu) Saya tidak dapat menggunakan ID proses soffice, karena ini mungkin sudah menjadi proses yang berjalan sebelum skrip saya mulai: mis. soffice mungkin sudah terbuka untuk aktivitas GUI normal untuk dokumen / presentasi / spreadsheet lain yang tidak terkait.
Inti dari masalah bagi saya adalah bahwa sebelum saya dapat melanjutkan, penulisan pdf baru harus diselesaikan ...
Apakah ada cara untuk menentukan kapan file tidak lagi terbuka untuk proses lain dalam mode "tulis"? ...
sumber
if [ -f test.odf ]
. (skrip bash kadang-kadang bisa sangat samar ...)lsof -- /path/to/file
sebagai gantinya cobalah untuk menghindarigrep
'ing