本文已参与「新人创作礼」活动,一起开启掘金创作之路。
前言
- 用过termux的小伙伴会知道termux虽然模拟了能够运行linux许多服务,但是没有能像普通的Linux一样设置程序或服务的自启动。
- 这给我们日常使用带来了许多不便,当我们使用termux搭建一个网站或者云盘的时候,需要依赖mysql、nginx、php等其他服务时,每次启动软件后还要敲命令一个一个启动,效率极其低下!
- 那么可能你想问了,是否有办法能够让我们需要的服务随软件的启动而自动运行呢?答案当然是有的!
- 方法就是:将相关的启动命令写入用户主目录下的
.bashrc
文件,同时使用pgrep
判断是否有进程启动,避免每次连接ssh时重复启动服务可能出现异常或者阻塞控制台。
博主本人在手机的termux上搭建了一个个人网站以及私人云盘服务,即使不小心杀了后台,只需要手指一动,点击启动软件需要的服务也跟着启动了。 个人网站和搭建私人云盘,见《手把手带你将手机打造一台私人便捷服务器及私人云盘 - 掘金 (juejin.cn)》、《隐藏在移动设备上的简易个人主页——学习工作专用》
如果本文对您有帮助,不妨点赞、收藏、关注哟!您的支持和关注是博主创作的动力!
脚本
- 请将以下代码命令写入到用户主目录下的
.bashrc
文件末尾
echo "Hello Friend!"
# 不使用pgrep
# sshd
#echo "ssh service started"
# php-fpm
#nginx
#echo "php and nginx started"
# 使用pgrep
if pgrep -x "sshd" >/dev/null
then
echo "ssh-service运行中..."
else
sshd
>/dev/null
echo "ssh-service已开启..."
fi
if pgrep -x "php-fpm" >/dev/null
then
echo "php-fpm运行中..."
else
php-fpm >/dev/null
echo "php-fpm已开启..."
fi
if pgrep -x "nginx" >/dev/null
then
echo "nginx运行中..."
else
nginx >/dev/null
echo "nginx已开启..."
fi
if pgrep -x "mysqld_safe -u root" >/dev/null
then
echo "mysql运行中..."
else
mysqld_safe -u root >/dev/null
echo "mysql已开启..."
fi