等待分叉过程完成

等待分叉过程完成

我有一个应用程序可以执行以下操作:

#!/bin/bash
tmpfile=$(mktemp)
gedit $tmpfile && pkexec mv $tmpfile $1

效果很好。它创建一个临时文件,在图形编辑器中打开它,当我完成后,它会使用 polkit 移动到具有提升权限的正确位置。

但是...你需要安装 gedit。我更喜欢使用尊重用户桌面环境和偏好的东西。 xdg-open应该可以,但我有一个问题:

#!/bin/bash
tmpfile=$(mktemp)
xdg-open $tmpfile && pkexec mv $tmpfile $1

xdg-open是一个分叉过程。它将启动编辑器,然后立即返回...导致mv在我有机会工作之前就被触发。

有没有办法让我只pkexec mv ...在编辑器完成后触发?

xdg-open(1)不提供任何帮助。我是否需要编写某种inotify工具来阻止,直到从 FD 读取某个事件为止?

相关内容