我遇到一个问题,使SSH在Linux的Windows子系统上运行。 看来,如果一个shell没有打开并运行bash,子系统中的所有进程都将被终止。 有没有办法阻止这个?
我曾尝试使用nssm创build服务,但无法使其工作。 现在我试图启动一个shell,然后把它发送到背景,但我还没有弄清楚如何。
如何查看root的bash_history?
通过按ENTER键或ESC键在bash中创build中断
Linux Awk帮助代码
在linux中循环每三个连续的行
bash删除脚本不起作用
您必须保持至少一个bash控制台处于打开状态,以便后台任务能够继续运行:只要关闭最后一个打开的bash控制台,WSL就会将所有正在运行的进程关闭。
而且,是的,我们正在努力改善未来的这种情况;)
为了维护WSL进程,我把这个文件放在C: Users USERNAME AppData Roaming Microsoft Windows Start Menu Programs Startup wsl.vbs
set ws=wscript.createobject("wscript.shell") ws.run "C:WindowsSystem32bash.exe -c 'sudo /etc/rc.local'",0
在/etc/rc.local中,我启动了一些服务,并最终“睡眠”以保持整个运行:
/usr/sbin/sshd /usr/sbin/cron #block on this line to keep WSL running sleep 365d
在/etc/sudoers.d中,我添加了一个'rc-local'文件来允许上面的命令没有sudo密码提示符:
username * = (root) nopASSWD: /etc/rc.local username * = (root) nopASSWD: /usr/sbin/cron username * = (root) nopASSWD: /usr/sbin/sshd
这在1607年运行良好,但在更新到1704后,我不能再通过SSH连接到wsl。
一旦你运行了cron,你可以使用'sudo crontab -e -u username'来定义cron作业,使用@reboot在登录时启动。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。