我已经在 Windows 中激活了开发者平台,并通过 Windows Store 安装了 Ubuntu,效果非常好!我唯一需要做的就是当我“激活”Ubuntu Apache2 时,MySql 不会自动启动。
在这个平台下有没有简单的方法可以实现这一点?当我打开 Bash 时,我只能手动启动服务,但最好是自动启动。我试过使用 cron 作业,但服务从未启动,也许我的语法错误?
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot . $HOME/.profile; /usr/sbin/sshd -D
@reboot . $HOME/.profile; service mysql start
@reboot . $HOME/.profile; service apache2 start
答案1
找到了!!!!!虽然不优雅。
无需循环或休眠,只需在 shell 脚本末尾添加“bash”即可。以下是我为 apache 和 mysql 编写的启动时运行的脚本。
VBS 文件(启动时运行) Win + r shell:startup createautostart.vbs
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "C:\Windows\System32\bash.exe -c ~/autostart.sh",0
Set WshShell = Nothing
autostart.sh
文件(只需将其放在您的主文件夹中即可chmod +x runnable
)
#!/bin/bash
sudo service mysql start
sudo service apache2 start
bash
并添加到/etc/sudoers
(附加到文件末尾)
# Allow apache2 and mysql to start without a sudo password
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service apache2 *
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service mysql *
如果我需要终止所有进程,我可以在任务管理器中找到 bash 进程并将其终止。