我用php编写了一个web程序,它需要停止windows服务并在运行时启动它:
exec('net stop spooler'); //to stop printer spooler
exec('net start spooler'); //to start printer spooler上面的代码并没有停止打印机假脱机程序,我想我知道为什么,因为当我正常打开cmd命令提示符并键入net start spooler时,当我打开cmd命令提示符时,我会得到管理员命令行的访问权限,所以我认为apache也需要管理员权限,这样上面的代码才能工作,但我无法知道如何授予代码以作为管理员运行。
当您在运行命令类型services.msc中单击“开始”>键入“services.msc”时,可以找到打印机假脱机程序,然后您将看到打印机假脱机程序是windows services...when之一,上面的代码runs...it应该停止或启动该服务。
发布于 2015-04-13 21:07:57
您也尝试过sc命令吗?相似问题
与其跳过管理执行圈,不如让PHP写入一个文件、一个物理文件,并有一个单独的程序,并以管理权限运行,启动net stop命令如何?这不仅确保了执行,而且还确保了安全性。为了获得最佳的可靠性,您可以使用一个带有VB.NET的快速Timer应用程序,每x秒检查一次该文件,但我确信,在必要时,您也可以使用正在运行的批处理文件。但是使用VB.NET,您可以在后台通过自己的线程运行进程,并确保它保持运行。
希望这能发光。
https://serverfault.com/questions/682442
复制相似问题