小编e40*_*e40的帖子

如何让 runas.exe (Windows) 等到它启动的程序退出?

也就是说,我希望 runas 只有在它运行的程序退出后才退出。

/waitrunas.exe没有参数。我已经尝试了很多排列,start /wait但没有任何效果。

我必须使用,runas因为我需要提升程序的权限,所以我需要像这样启动它:

runas /user:administrator /savedcred /env update.exe
Run Code Online (Sandbox Code Playgroud)

update.exe我的程序在哪里。runas也从 Cygwin Bash 调用,使其更加复杂。

我在 Server 2008 R2 上。

嗯,这是解决问题的一种方法。它使用Sysinternals pslist程序和 Bash:

do_update()
{
if test -d c:/; then
    case `hostname` in
    thor*)
        update="runas /user:administrator /savedcred /env \".\\update.exe\""
        ;;
        *)  update="./update.exe" ;;
    esac
    $update
    while pslist -e update > /dev/null 2>&1; do
        echo waiting for update.exe to finish...
    sleep 3
    done
else
    ./update.sh
fi
}
Run Code Online (Sandbox Code Playgroud)

但是,它非常糟糕,主要是因为它无法将程序的退出状态返回给调用者。这是一个巨大的问题,IMO。

windows runas

6
推荐指数
1
解决办法
6155
查看次数

标签 统计

runas ×1

windows ×1