昨天临睡前,我开始了一个漫长的过程,我认为它在我站起来之前就完成了,所以我使用了
./command && sudo poweroff
Run Code Online (Sandbox Code Playgroud)
我的系统配置为不要求输入密码sudo poweroff
,因此在该命令完成后它应该关闭。
但是它仍在运行,我现在想将该系统用于其他任务。让该命令在后台运行不是问题,但让我的系统随时可能关闭才是问题。
有没有办法防止zsh
执行poweroff
命令,同时确保第一个命令运行直到完成?
/etc/sudoers
在这种情况下,编辑文件以便系统询问我的密码是否仍然有帮助?
我不知道一般如何解释这个问题,所以我就用这个例子:
#!/bin/bash
cleanup() {
rm "$myfifo"
rm "$mylock"
kill '$(jobs -p)'
}
writer() {
for i in $(seq 0 100); do
echo "$(date -R) writing \"$i\"."
echo "$i" > "$myfifo"
done
}
reader() {
while true; do
flock 3
read -st 1 line
status=$?
if [ $status -eq 0 ]; then
echo "$(date -R) reading \"$line\" in thread $1."
else
echo "$(date -R) status $status in thread $1.
break
fi
flock -u 3
sleep 10
done 3<"$mylock" <"$myfifo"
}
trap …
Run Code Online (Sandbox Code Playgroud)