我想知道是否可以将参数传递给已经运行的Node进程,前提是该进程是由php启动的。
有可能吗?该怎么做?
答案 0 :(得分:2)
这显然是不可能的,因为该进程已经在运行,不仅仅是Node,而是任何进程。
调试Node进程时可能会篡改process.argv
,但这不应该在生产中使用,而且每次在应用程序初始化时通常读取一次process.argv
时,它都需要读取 public void ConfigureServices(IServiceCollection services)
{
services.AddHttpContextAccessor();
services.AddMvc();
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
services.AddDbContext<MyDbContext>();
services.AddTransient<IUnitOfWork, UnitOfWork>();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseExceptionHandler(builder => builder.Run(async context =>
{
var error = context.Features.Get<IExceptionHandlerFeature>();
context.Response.AddApplicationError(error,???????);//I want access HttpContextAccessor
await context.Response.WriteAsync(error.Error.Message);
}));
app.UseHttpsRedirection();
app.UseMvc();
}
,因为它不是。不能改变。
答案 1 :(得分:1)
如Estus所指出,不可能将自变量传递给已经运行的进程。
但是根据您的问题,您想使用进程间通信(IPC)。
您可以参考this link for information on IPC。
以下链接也很有用:
-PHP Inter-process communication to monitor message queue