【Ubuntu笔记】18.04版本添加开机自启动

吐槽

由于对linux系统的不熟悉,以及没太重视版本不同带来的影响,简简单单的添加一个自启动服务愣是搞了我三天,各个坑撞得我一头包。

结果

按惯例,先上结果。
1.sudo vim /etc/rc.local 打开这个文件
2.首先确保开头必须是 #!/bin/bash
3.sudo /etc/init.d/my_tcp start 添加启动服务的命令
ps:以上仅适用部分Ubuntu18.04,至于为什么这么说,下面细细道来。

过程

1.首先准备好想要自启动的服务脚本,我的在这里:
https://blog.csdn.net/ylc0919/article/details/113482042.

2.根据简单百度以及群里老哥指点,找rc.local嘛,找到了把命令塞进去就行。

然后问题来了,我的虚拟机Ubuntu16.04搜出来的rc.local根本改不了,sudo也不行,头疼了好久也没办法。

于是我不管了,直接拿上云服务器改,打开/etc/rc.local,结果里面是一堆奇怪的东西:

/usr/local/qcloud/irq/net_smp_affinity.sh >/tmp/net_affinity.log 2>&1
/usr/local/qcloud/cpuidle/cpuidle_support.sh &> /tmp/cpuidle_support.log
/usr/local/qcloud/rps/set_rps.sh >/tmp/setRps.log 2>&1
/usr/local/qcloud/irq/virtio_blk_smp_affinity.sh > /tmp/virtio_blk_affinity.log 2>&1
/usr/local/qcloud/gpu/nv_gpu_conf.sh >/tmp/nv_gpu_conf.log 2>&1

这啥意思,我也不知道,然后我就在这里各种加命令/etc/init.d/my_tcp start,开头加,结尾加,原本的东西我没敢动他,改一次重启一下,打开野人家园的网络调试助手,重启一下试一下,哎嘿,都不行。

然后我觉得是root权限问题,又给他加上sudo,然后上面过程又重复了一遍,还是不行,我都怀疑是调试助手的问题了,手动打开tcp服务器,能连上,那说明工具没问题。

3.老哥们的说法行不通,那就继续百度,昨天一天基本上都花在这上面了,具体过程不多讲,反正都失败了。(现在回想一下还有点小尴尬)

4.今天搜索时候发现了点问题,据说Ubuntu18.04和16.04启动不太一样,难怪有些东西搞得我迷迷糊糊的,内容在这:
https://blog.csdn.net/ylc0919/article/details/113482779
由于微信的链接保存了也打不开,我只好自己转一下。

5.我按照他的方法搞了一下,还是不行。于是我顺着这条线索继续搜,然后又找到一个好帖子,链接在这:
https://blog.csdn.net/zbc415766331/article/details/104761027/

6.可惜还是不行,帖子里面也没详细讲,于是我按照帖子里面的链接打开了那个讲解Systemd的网页,在里面找到了一条很关键的指令:

sudo systemctl status my_tcp

这个可以查询你脚本执行的状态,然后给我跳了一堆错误,记不得是啥错误了,现在回过头去找也没找到。

7.这个时候柳暗花明的事情来了,当前目录我发现了个文件rc-local.service,好家伙,这不就是之前老哥们讲的rc-local嘛,进去一看,果然是用来启动/etc/rc.local的,这不正好说明之前的过程2的操作没问题嘛,我这饶了地球跑了一圈,还费什么劲自己写.service文件,于是我用上面那条查状态命令查了一下这个rc-local的状态,里面发现了一个错误Exec format error。

百度这个错误,
https://blog.csdn.net/anzhuangguai/article/details/51249894
帖子里的老哥给了解决方法,在脚本第一行加上#! /bin/bash,然后我就去/etc/rc.local加了,顺便把我的脚本命令也加上,现在这个文件是这样的:

#!/bin/bash
sudo /etc/init.d/my_tcp start
/usr/local/qcloud/irq/net_smp_affinity.sh >/tmp/net_affinity.log 2>&1
/usr/local/qcloud/cpuidle/cpuidle_support.sh &> /tmp/cpuidle_support.log
/usr/local/qcloud/rps/set_rps.sh >/tmp/setRps.log 2>&1
/usr/local/qcloud/irq/virtio_blk_smp_affinity.sh > /tmp/virtio_blk_affinity.log 2>&1
/usr/local/qcloud/gpu/nv_gpu_conf.sh >/tmp/nv_gpu_conf.log 2>&1

修改完,继续惯例重启云服务器,网络调试助手点击连接,然后

连!上!了!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值