Ubuntu设置开机自启动脚本的方法是:修改/etc/init.d/rc.local这个文件,添加需要启动的程序即可,相关函数如下:

void SetSysAutoBoot()
{
char path[] = {};
int ret = ; ret = readlink("/proc/self/exe",path,sizeof(path)); if((ret > )&& (ret < sizeof(path)))
{
printf("system path : %s\n",path);
} char* fileName = "/etc/init.d/rc.local";
int fileLen = GetFileSize(fileName); FILE * fp = fopen(fileName,"r+");
char* buf; buf = (char*)malloc(fileLen*);
char* tempBuf = buf; if(fp == NULL)
{
return;
} int flag = ; while(!feof(fp))
{
tempBuf = fgets(buf,fileLen,fp); if(tempBuf != buf)
{
break;
} //exist
if(strstr(tempBuf,path) != )
{
//
flag = ;
} } fclose(fp); //not exist
if( == flag)
{
char buf[];
sprintf(buf,"echo \"%s &\" >> /etc/init.d/rc.local\n",path);
printf(buf);
system(buf);
} free(buf);
}

但是FC16系统并不系统自带/etc/init.d/rc.local这个文件,于是我们就要自作做一些配置了。

1. 首先写一个测试脚本,

touch /etc/rc.d/rc.local

这个文件的内容是:

#!/bin/sh
date >> /IpMonitor/test.txt
/IpMonitor/IpMonitor-Server &

设置可执行权限:

chmod 777 /etc/rc.d/rc.local

设置软链接:

ln -s /etc/rc.d/rc.local /etc/rc.local

2. 开启rc-local.service

systemctl start rc-local.service

3. reboot即可看到效果了。

top - :: up  min,   users,  load average: 1.37, 0.57, 0.21
Tasks: total, running, sleeping, stopped, zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.5%id, 0.1%wa, 0.2%hi, 0.1%si, 0.0%st
Mem: 8152824k total, 442280k used, 7710544k free, 488k buffers
Swap: 4095996k total, 0k used, 4095996k free, 137048k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root 441m S 0.7 0.0 :00.33 IpMonitor-Serve
root S 0.0 0.1 :01.32 systemd
root S 0.0 0.0 :00.00 kthreadd
root S 0.0 0.0 :00.01 ksoftirqd/
root S 0.0 0.0 :00.00 kworker/:
root S 0.0 0.0 :00.00 kworker/u:
root RT S 0.0 0.0 :00.00 migration/
root RT S 0.0 0.0 :00.00 watchdog/
root RT S 0.0 0.0 :00.00 migration/
root S 0.0 0.0 :00.02 kworker/:
root S 0.0 0.0 :00.00 ksoftirqd/
root S 0.0 0.0 :00.02 kworker/:
root RT S 0.0 0.0 :00.00 watchdog/
root RT S 0.0 0.0 :00.00 migration/
root S 0.0 0.0 :00.00 kworker/:
root S 0.0 0.0 :00.00 ksoftirqd/
root RT S 0.0 0.0 :00.00 watchdog/
root RT S 0.0 0.0 :00.00 migration/
root S 0.0 0.0 :00.00 kworker/:
root S 0.0 0.0 :00.00 ksoftirqd/
root RT S 0.0 0.0 :00.00 watchdog/
root RT S 0.0 0.0 :00.00 migration/
root S 0.0 0.0 :00.00 kworker/:
root S 0.0 0.0 :00.00 ksoftirqd/
root RT S 0.0 0.0 :00.00 watchdog/
root RT S 0.0 0.0 :00.00 migration/
root S 0.0 0.0 :00.00 kworker/:
root S 0.0 0.0 :00.00 ksoftirqd/
root RT S 0.0 0.0 :00.00 watchdog/
root RT S 0.0 0.0 :00.00 migration/
root S 0.0 0.0 :00.00 kworker/:
root S 0.0 0.0 :00.00 ksoftirqd/
root RT S 0.0 0.0 :00.00 watchdog/
root RT S 0.0 0.0 :00.00 migration/
root S 0.0 0.0 :00.00 kworker/:
root S 0.0 0.0 :00.00 ksoftirqd/
root RT S 0.0 0.0 :00.00 watchdog/
root - S 0.0 0.0 :00.00 cpuset
root - S 0.0 0.0 :00.00 khelper
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# cat /IpMonitor/test.txt
2013年 07月 05日 星期五 :: CST
2013年 07月 05日 星期五 :: CST
2013年 07月 05日 星期五 :: CST
2013年 07月 05日 星期五 :: CST
2013年 07月 05日 星期五 :: CST
2013年 07月 05日 星期五 :: CST

Fedora 16设置开机自启动程序与Ubuntu的区别的更多相关文章

  1. linux_设置开机自启动程序脚本

    设置开机自启动

  2. win10设置开机自启动程序

    问题情境:前两天刚刚给自己的win10系统美化了一下,但发现一个问题,每次开机都需要双击启动一个程序,才能达到一个我想要的效果,所以就在思考能不能将这个程序设为开机自启动项呢? 1.首先,找到启动文件 ...

  3. Ubuntu14.04设置开机自启动程序

    启动应用程序可以帮助我们选择开机启动项.但是在Ubuntu14.04通过Dash输入startup 找不到启动应用程序了,可以通过在控制台输入以下内容: gnome-session-propertie ...

  4. Windows 7硬盘安装CentOS 6.4 双系统 (WIN7硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))

     WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2.Ubuntu 12.04) 近期在看<鸟哥私房菜:基础学习篇>.认为非常不错,想要用U盘装个windows 7 和 ...

  5. Windows 7硬盘安装CentOS 6.4 双系统 (WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))

     WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04) 最近在看<鸟哥私房菜:基础学习篇>,觉得很不错,想要用U盘装个windows 7 和 ...

  6. Ubuntu14.04设置开机自启动脚本

    方法一.编辑rc.loacl脚本  Ubuntu开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本.在 exit 0 前面添加好脚本代码, ...

  7. Android开机自启动程序

    背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED. ...

  8. 设置开机自启动VirtualBox虚拟机系统

    如果常用VirtualBox虚拟机系统的话,设置个随开机启动也是很方便的.不需要打开VirtualBox窗口,直接就是系统启动了. 又继续上网搜索学习了.(设置开机自启动VirtualBox虚拟机系统 ...

  9. CentOS7设置开机自启动方式

    方式一: # 在/etc/rc.d/rc.local文件中追加启动命令,该文件追加后,会随着机器自动后,自动运行文件中的命令 # vim /etc/rc.d/rc.local # 权限问题:在cent ...

随机推荐

  1. Android微信SDK API 调用教程1

    最近一直在调用微信的API,却发现一直调用不成功,纠结了好久,各方面找教程,找官方,官方里的文档也只是写得很模糊,说是按三步走. 1.申请App_ID 2.填写包名3. 获取程序签名的md5值, 这三 ...

  2. 【分享】哪个OS X版本支持哪个Xcode的版本?

    在安装Xcode时,会碰到跟OS X操作系统匹配的问题,对照下下面几个表,以免给自己带来编译不过或者奇怪的错误等问题 以下列表来自网络: Xcode 1.0 - Xcode 2.x (before i ...

  3. mokoid android open source HAL hacking in a picture

    /************************************************************************** * mokoid android HAL hac ...

  4. PDO防注入原理分析以及使用PDO的注意事项 (转)

    我们都知道,只要合理正确使用PDO,可以基本上防止SQL注入的产生,本文主要回答以下两个问题: 为什么要使用PDO而不是mysql_connect? 为何PDO能防注入? 使用PDO防注入的时候应该特 ...

  5. Java中Volatile关键字详解

    一.基本概念 先补充一下概念:Java并发中的可见性与原子性 可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉.通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值, ...

  6. 为什么要用Java泛型

    啥是泛型? 泛型(generic)是指参数化类型的能力.可以定义带泛型类型的类或方法,随后编译器会用具体的类型来代替它. 举个栗子 上述代码在编译期没有问题,但在运行期,将会报错.就是因为List的a ...

  7. mysql 在大型应用中的架构演变

    文正整理自:http://www.csdn.net/article/2014-06-10/2820160 可扩展性 架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展性的架构, ...

  8. jquery ajax jsonp跨域调用实例代码

    今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Lan ...

  9. 【进阶——最小费用最大流】hdu 1533 Going Home (费用流)Pacific Northwest 2004

    题意: 给一个n*m的矩阵,其中由k个人和k个房子,给每个人匹配一个不同的房子,要求所有人走过的曼哈顿距离之和最短. 输入: 多组输入数据. 每组输入数据第一行是两个整型n, m,表示矩阵的长和宽. ...

  10. Oracle查看和修改其最大的游标数

    原文 Oracle查看和修改其最大的游标数 以下的文章主要是介绍Oracle查看和修改其最大的游标数,本文主要是通过相关代码的方式来引出Oracle查看和修改其最大的游标数的实际操作步骤,以下就是文章 ...