service 开机自启动

如果你想你的service在系统开机时自启动。可以在service的androidManifest.xml中加上这样的配置。

<receiver android:name=".StartBroadcastReceiver">

 

            <intent-filter>

   <action android:name="android.intent.action.BOOT_COMPLETED"/>

            </intent-filter>        

</receiver>

转载于:https://my.oschina.net/zhangqingcai/blog/29081

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 创建一个shell脚本 首先,我们需要编写一个启动自己程序的shell脚本,比如我们的程序是/home/user/myapp/myapp,那么我们可以在/home/user/myapp/目录下创建一个start.sh文件,文件内容如下: #!/bin/bash cd /home/user/myapp/ ./myapp 注意,要给start.sh文件赋予可执行权限: chmod +x /home/user/myapp/start.sh 2. 创建一个systemd服务文件 接下来,我们需要创建一个systemd服务文件,这个文件告诉systemd如何启动我们的程序,并在开机自动启动。在/etc/systemd/system/目录下创建一个myapp.service文件,文件内容如下: [Unit] Description=My App Service After=network.target [Service] Type=simple User=user WorkingDirectory=/home/user/myapp/ ExecStart=/home/user/myapp/start.sh Restart=always [Install] WantedBy=multi-user.target 说明: - Description:服务的描述信息。 - After:告诉systemd这个服务必须在network.target启动之后启动。 - Type:启动程序的类型,这里是simple,表示直接执行ExecStart指定的脚本。 - User:指定服务运行的用户。 - WorkingDirectory:指定启动程序的工作目录,这里是/home/user/myapp/。 - ExecStart:指定启动程序的命令,这里是/home/user/myapp/start.sh。 - Restart:当程序意外退出时,自动重启。 - WantedBy:告诉systemd这个服务应该在哪个target中启动,这里是multi-user.target,表示多用户模式下启动。 3. 启动服务 完成上面两步后,我们就可以启动这个服务了: systemctl start myapp.service 4. 设置开机自启动 为了让这个服务在开机时自动启动,我们需要运行: systemctl enable myapp.service 这样,当我们下次重启系统时,这个服务就会自动启动了。 5. 查看服务状态 我们可以随时查看服务的状态: systemctl status myapp.service 也可以查看服务的日志: journalctl -u myapp.service 到此为止,我们就成功地将我们的程序设置为了开机自启动的Linux服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值