解决C# Net Core Console.ReadKey() 在 Linux 后台任务中不生效问题

利用 nohup 命令将任务放置在后台后,由于无法继承当前窗口 session,不再响应标准输入指令(stdin)。当有标准输入指令输入时,会造成任务暂停(half)。

在 net core 程序中利用 Console.ReadKey 试图阻塞程序的方法也不再生效,直接崩溃(core dump)。根据提示使用 Console.Read() 指令后,提示权限不足。

这里可以通过 screen 命令持续保留终端的 session:

screen -S name #创建一个后台 session ,名称为 name
# do something...

# 通过按下 Ctrl+A,Ctrl+D的方式切换回原有 session
screen -r name #切换回名为 name 的 session

最后,不得不说一句,网上各种解决方案都抄烂了。。。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注