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. HeadFirst Jsp 14 (Structs)

    大的web程序可能很复杂, 分很多”层” 有关 RMI 的部分, 可以参考 headfirst java 中的 RMI 的部分. struts 是一个框架, 框架是一些接口和类的集合, 这些接口和类设 ...

  2. 浅谈Websocket、Ajax轮询和长连接(long pull)

    最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket Websocket是HTML5中提出的新的协议,注意,这里是协议,可以 ...

  3. ADB安装应用报错 Segmentation fault pm install /data...

    路径一定不能有中文…… 路径一定不能有中文…… 路径一定不能有中文…… 路径一定不能有中文…… 路径一定不能有中文……

  4. aop郁闷错误

    很郁闷的错误,终于解决了: <aop:config>  <aop:aspect ref="log">   <aop:pointcut id=" ...

  5. JQuery操作Ajax

    一.jQuery - AJAX 简介 AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML). AJAX 是与服务器交换数据的艺术,它在 ...

  6. 【第三篇】说说javascript处理时间戳

    在做datagrid的时候,从数据库读出来的数据是/Date(1437705873240)/大概是这种形式,这个就是时间戳 我们需要把/Data和/去掉,才可以转成我们要的格式. 上代码 { fiel ...

  7. js数组的声明与应用

    js数组的声明与应用 数组:一种容器,存储批量数据.JavaScript是一种弱类型语言.什么是弱类型,就是变量可以存储多种类型变量的引用不会报错.所以js数组可以存储不同的数据. 一.数组的作用:只 ...

  8. 几种Menu和几种对话框

    一.Menu     1.OptionsMenu(弹出菜单)         (1)显示弹出菜单布局必须要重写的方法    onCreateOptionsMenu    该方法必须返回true     ...

  9. Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_3

    3.Repository Service启动后的页面编码问题 1)错误信息: 2)原因分析及解决步骤 原因分析: informatica产品安装背后AdminConsole的Code page默认为U ...

  10. socket基础实例(一个服务端对应一个客户端情形)

    服务端处理1个客户端的例子 运行结果: (1) while(accept+if(recv)) 情形 执行服务端进程: [root@localhost single_link]# ./server [s ...