Start-Process在当前目录可用但绝对路径启动失败问题咨询
问题解答
这种情况是正常的,根源在于nginx的工作目录依赖。
- 示例1中,你切换到
C:\Users\toto\Dev\nginx-1.22.1目录后启动nginx.exe,此时nginx的工作目录就是它的安装目录,能正常加载目录下的conf\nginx.conf等配置文件,进程可以稳定运行。 - 示例2中,你在
C:\Users\toto目录用绝对路径启动nginx时,nginx的工作目录是当前的C:\Users\toto,它会尝试在这个目录下查找conf\nginx.conf,找不到配置文件就会启动后立刻退出,所以Get-Process查不到进程。
解决方法很简单,启动时指定工作目录即可:
Start-Process -FilePath "C:\Users\toto\Dev\nginx-1.22.1\nginx.exe" -WorkingDirectory "C:\Users\toto\Dev\nginx-1.22.1"
这样nginx就能在正确的工作目录下加载配置,进程会正常运行,用Get-Process也能查到了。
内容的提问来源于stack exchange,提问作者Tiranyk
相关产品推荐
相关产品推荐

