杀死可执行文件时如何自动删除目录
通常,我们运行一个需要写入/读取一些临时文件的可执行文件。我们通常创建一个临时目录,在其中运行可执行文件,并在脚本完成后删除该目录。 即使可执行文件被杀死,我也想删除目录。我试图将其包装在: #!/bin/bash dir=$(mktemp -d /tmp/foo.XXXXXXX) && cd $dir && rm -rf $dir /usr/local/bin/my_binary 当my_binary模具,最后一道工序,内核会删除目录,因为剧本是最后一道工序是持有inode; 但我无法在已删除目录中创建任何文件。 #!/bin/bash dir=$(mktemp -d /tmp/foo.XXXXXXX) && cd $dir && rm -rf $dir touch file.txt 输出 touch: file.txt: No such file or directory 我能想到的最好的办法是在进程终止时删除temp目录,捕获最常见的信号,然后使用cron运行清理进程: #!/bin/bash dir=$(mktemp -d /tmp/d.XXXXXX) && cd "$dir" || exit 99 trap 'rm …