执行外部应用程序并退出
Execute external application and exit
我在 win7 x64 上 运行ning ActiveState perl 5。解决方案不一定是跨平台的。
我正在尝试使用 Perl 脚本为另一个应用程序构建一个有点复杂且可变的命令行参数字符串。然后我想使用参数字符串执行该外部应用程序,同时也立即退出 Perl 脚本。
想法是创建 运行 具有不同参数的 Perl 脚本的快捷方式图标,它应该生成正确的命令行,生成外部应用程序(为其提供正确的参数),然后立即消失.
我似乎找不到任何方法来做到这一点。如果我从命令行 window 使用 exec()
和 运行 脚本(在生成外部应用程序后立即 returns 到命令提示符),它会起作用,但如果我使用相同的命令创建一个 Windows 快捷方式,Perl 脚本将永远在后台挂起,直到生成的外部应用程序退出或我手动关闭 perl 命令 window。
有什么办法吗?我试过 system
、exec
、反引号和其他一些晦涩难懂的东西。什么都不起作用。
exec
在 Windows 上不存在。 (Perl 试图模仿它。)
如果您使用 system
或 readpipe
(又名反引号),Perl 将继续 运行 直到子进程完成(尽管它会空闲)。
您需要 Win32::Process 或 system('start "" ...')
。
我在 win7 x64 上 运行ning ActiveState perl 5。解决方案不一定是跨平台的。
我正在尝试使用 Perl 脚本为另一个应用程序构建一个有点复杂且可变的命令行参数字符串。然后我想使用参数字符串执行该外部应用程序,同时也立即退出 Perl 脚本。
想法是创建 运行 具有不同参数的 Perl 脚本的快捷方式图标,它应该生成正确的命令行,生成外部应用程序(为其提供正确的参数),然后立即消失.
我似乎找不到任何方法来做到这一点。如果我从命令行 window 使用 exec()
和 运行 脚本(在生成外部应用程序后立即 returns 到命令提示符),它会起作用,但如果我使用相同的命令创建一个 Windows 快捷方式,Perl 脚本将永远在后台挂起,直到生成的外部应用程序退出或我手动关闭 perl 命令 window。
有什么办法吗?我试过 system
、exec
、反引号和其他一些晦涩难懂的东西。什么都不起作用。
exec
在 Windows 上不存在。 (Perl 试图模仿它。)
如果您使用 system
或 readpipe
(又名反引号),Perl 将继续 运行 直到子进程完成(尽管它会空闲)。
您需要 Win32::Process 或 system('start "" ...')
。