Archlinux开机自动执行自己所写程序

2023-05-16

为了让Archlinux开机自动执行自己所写程序,需要使用rc-local.service系统服务。搞了好久,终于弄成功了。特意记录下,以备后需。

第一步在/usr/lib/systemd/system/目录下新建rc-local.service文件

执行命令如下:

>/usr/lib/systemd/system/rc-local.service
rc-local.service文件修改如下:

[Unit]
Description="/etc/rc.local Compatibility"
ConditionPathExists=/etc/rc.local
After=network.target


[Service]
Type=forking
ExecStart=/etc/rc.local
TimeoutSec=0
#StandardInput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target
第二步使该文件生效:

systemctl enable rc-local.service
若之前开启过 rc-local.service该服务,则需要执行

systemctl reenable rc-local.service

第三步查看/etc/systemed/system/multi-usr.target.wants/rc-local.service文件

若内容如下,则第二步修改正确

[Unit]
Description="/etc/rc.local Compatibility"
ConditionPathExists=/etc/rc.local
After=network.target


[Service]
Type=forking
ExecStart=/etc/rc.local
TimeoutSec=0
#StandardInput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

特别注意: 
#StandardInput=tty
前面一定要有# 否则无效。

第三步新建文件/etc/rc.local

><span style="font-size:14px;">/etc/rc.local</span>

第四步修改rc.local 权限

chmod +x /etc/rc.local
第五步生成测试文件   

<span style="font-size:14px;">[root@XBD etc]# nano /var/hellotest.cpp</span>
hellotest.cpp 内容如下

#include<stdio.h>
#include<stdlib.h>
int main()
{
        FILE *fp;
        fp=fopen("/var/hellotest.txt","w");
        fprintf(fp,"hello world\n");
        fclose(fp);

        return 0;
}
编译生成可执行文件:

<span style="font-size:14px;">[root@XBD var]# g++ hellotest.cpp  -o hellotest</span>
查看生成可执行文件


第六步将要执行的文件写入 /etc/rc.local, 这一步之后rc.local内容如下:

#!/bin/bash
/var/hellotest
 注意第一行,一定要如上填写

第七步测试阶段:

重启前 /var/文件下的内容如下,并没有hellotest.txt


重启后,再次查看,/var/文件夹下内容如下:(已经生成hellotest.txt)

查看/var/hellotest.txt内容如下:



可见设置成功。

之后需要系统启动可执行文件时,只需在/etc/rc.local下加入可执行文件的路径即可。





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Archlinux开机自动执行自己所写程序 的相关文章

  • linux源码阅读利器-GNU GLOBAL Source Code Tag System

    学习浏览linux源码 xff0c 如果自己用自带的文本编辑器就太麻烦了 xff0c 但是如果安装强大的lxr那就太麻烦了 xff08 对于非debian用户来说 xff09 xff0c 找了很久找到了一个用起来很不错的源码浏览工具 xff
  • android 4.0.1源码编译,学习错误解决

    主机是fedora 14 linux内核2 6 35 6 swapon交换分区1 5G make version 3 81 官方指定的make版本 xff09 jdk 1 6 磁盘预留空间大概需要大于13G 具体的编译步骤可参考 Fedor
  • android webApp 调试问题解决

    前不久做了个webapp xff0c 在pc上chrome调试都是可以的 但是手机上显示却有点问题 xff0c 所以一直是想在手机浏览器上调试 xff0c 但是一直没有相关支持 xff0c 后来google终于出了chrome beta版
  • android系统源代码分析 书评

    其实接触android应用开发差不多两年了 xff0c 但是实际上并没与多少拿得出手的作品 因为在很长一段时间里我都在问自己android是什么 xff0c 内部怎么运行的 xff0c 为什么我的java代码就可以在linux上运行 xff
  • Fedora18博通430g电信无线拨号上网

    回家折腾了有两三天 xff0c 想让fedora18 也能蹭上网 首当其冲的问题就是fedora 没有为无线网卡安装驱动 xff0c 只能自己慢慢找驱动 费了好久找到上传了驱动下载 xff0c 满心欢喜按照README 编译 xff0c 结
  • VR技术的发展趋势,未来有哪些展望?

    虚拟现实技术Virtual Reality xff0c 缩写为VR xff0c 是一项全新的实用技术 虚拟现实技术包含计算机 电子信息 仿真技术于一体 xff0c 其基本实现方式是计算机模拟虚拟环境从而给人以环境沉浸感 目前来看 xff0c
  • 1.1 操作系统的基本概念

    一 操作系统的基本概念 span class token number 1 span 计算机系统自上而下可大致分为 span class token number 4 span 部分 span class token punctuation
  • 线性代数之——特征值和特征向量

    线性方程 A x 61 b Ax 61 b A x 61 b 是稳定状态的问题 xff0c 特征值在动态问题中有着巨大的重要性
  • PowerShell 学习笔记:压缩、解压缩文件

    在自动构建的时候 xff0c 最常用的就是压缩备份项目的源文件 xff0c PowerShell提供了相关命令 Compress Archive xff08 压缩文件 xff09 Compress Archive Path lt Strin
  • MySQL和MariaDB,它们有什么区别?

    目录 一 MySQL简介 二 MariaDB简介 三 什么是MariaDB 四 为什么推出MariaDB xff1f 五 主要区别 六 总结 在这篇文章中 xff0c 我们将探讨MySQL和MariaDB之间的区别 两者都是开源的关系型数据
  • 【没有anaconda powershell prompt】Anaconda安装后开始菜单没有Anaconda Powershell Prompt

    Anaconda安装后开始菜单没有Anaconda Powershell Prompt 昨天想做点东西 xff0c 发现没有anaconda powershell prompt xff0c 关键还需要用到他 xff0c 网上找了好久都没有关
  • Little Boxes (C++大数加法)

    ii 9ABH SA391 r9GG35 amp G amp ii13Gh i3X31i rB1 iMs i5895 5G91 s1 8A
  • 基于 Github/Gitee Pages 服务+ Hexo框架搭建静态博客

    基于 Github Gitee Pages 服务 43 Hexo框架搭建静态博客 文章目录 基于 96 Github 96 96 Gitee Pages 96 服务 43 96 Hexo 96 框架搭建静态博客前言 xff1a 要知道些什么
  • JVM内存分配机制

    Java虚拟机最重要的工作就是如何给对象分配内存空间 xff0c 以及通过GC如何回收已经不再使用的内存空间 这篇文章主要介绍JVM中的Java对象是创建过程 对象内存的分配机制以及对象内存的回收机制 一 对象的创建 在前面的文章 JVM类
  • Android开发——View Binding的使用与解析

    1 前言 如何干掉模版代码是很多第三方框架的设计初衷 xff0c 在Android开发中 xff0c findViewById 是必不可少的存在 xff0c 这样的冗余代码在很久以前充斥在Android工程中 xff0c 因此也出现了很多精
  • linux网络编程的一些基础知识--基础API相关

    大多数套接字函数都需要一个指向套接字地址结构的指针作为参数 IPV4套接字地址结构 struct in addr in addr t s addr 32bits struct sockaddr in uint8 t sin len 8bit
  • AndroidStudio - 无法运行应用的解决方法

    有时桑Adb端口被占用时会出现无法运行应用并出现 Installation did not succeed The application could not be installed 的问题 最新补充解决方案 xff1a 可直接杀死adb
  • Android之viewBing(视图绑定)

    首先我们需要从Android studio模块编译脚本中加入依赖 xff1a viewBinding enabled 61 true 如图 布局文件 放置了三个button span class token tag span class t
  • Maven 下载jar包时进度条长时间不动

    博主 是个七年工作经验的软件狗 xff0c 经常和Java idea maven这种奇奇怪怪的东西打交道 最近工作的时候 xff0c 博主遇到了很奇怪的问题 博主所在的公司最近有个项目是采用maven 43 springMVC架构搭设的 x
  • 最近看到的几个不错论坛

    hibernate论坛 http www hibernate org cn spring 论坛 http spring jactiongroup net 我比较喜欢里面的东西 xff0c 对于现在比较流行的 xff08 struts 43

随机推荐