仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 454|回复: 8
打印 上一主题 下一主题

[其他Linux] 来看看:在Linux中开机主动运转一般用户剧本程序

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 15:28:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。
测试情况:Fedora7,办理员:root,一般用户:test1
完成方针:在Linux启动时,主动运转位于一般用户test1根目次下的剧本程序test.py,该程序会在每次实行时主动向当地日记文件追加一笔记录,源码以下:
fromdatetimeimportdatetime
now=datetime.now()
f=open(test.log,a)
f.write(%s%now)
f.close()

Linux在启动时,会主动实行/etc/rc.d目次下的初始化程序,因而我们能够把启动义务放到该目次下,有两种举措:
计划一:
1.由于个中的rc.local是在完成一切初始化以后实行,因而我们能够把启动剧本写到内里
2.用root账号上岸Linux,vi/etc/rc.d/rc.local编纂文件,在最初到场两行必要实行的剧本程序:
cd/home/test1――该步不成少,不然会提醒没有权限翻开test.log文件
sutest1-c"python/home/test1/test.py"――把要实行的命令作为一个参数传送级su
计划二:
1.init.d目次下都为可实行程序,他们实际上是服务剧本,依照必定格局编写,Linux在启动时会主动实行,相似Windows下的服务
2.用root帐号登录,vi/etc/rc.d/init.d/mystart,追加以下内容:
#!/bin/bash
#chkconfig:23458005--指定在哪几个级别实行,0一样平常指关机,
6指的是重启,其他为一般启动。80为启动的优先级,05为封闭的优先机
#description:mystartservice
RETVAL=0
start(){--启动服务的出口函数
echo-n"mystartserive..."
cd/home/test1
sutest1-c"python/home/test1/test.py"
}
stop(){--封闭服务的出口函数
echo"mystartserviceisstoped..."
}
case{GetProperty(Content)}in--利用case,能够举行交互式操纵
start)
start
;;
stop)
stop
;;
esac
exit$RETVAL

3.运转chmod+r/etc/rc.d/init.d/mystart,使之可间接实行
4.运转chkconfig――addmystart,把该服务增加到设置傍边
5.运转chkconfig――listmystart,能够检察该服务历程的形态
总结:
两种计划的的中心都是切换用户到test1,然后实行命令启动Python程序,做成服务的优点是能够界说多个交互命令,好比:start,stop,restart,reset……,在服务运转的过程当中还能够做响应操纵。最入手下手的时分,我依照一样平常的思绪写了以下剧本,却怎样也实行不了:
sutest1--切换到test1用户
cd/home/test1--切换到根目次
pythontest.py--实行python程序
exit--加入test1帐号

看起来好象统统都没错,可是发明只运转了第一行的命令,前面的都没有运转,直到加入test1用户后才发明好象实行终了。剖析缘故原由,是由于Linux启动的时分是在root帐号下,实行sutest1即是翻开了一个新的shell剧本,因而上面的代码都在等着新的Shell剧本停止才干运转,就象在主程序里挪用了一个子程序,而子程序是个逝世轮回,一下出来来了局上面的要等逝世了。晓得了产生的缘故原由,那末办理的举措就绝对复杂了,就是在实行上述剧本程序时,不要分开自己的Shell.我们能够把实行命令做为su的一个参数传送出来,由于没有触及到翻开新的Shell,因而能够一般实行你希冀的剧本程序,顺遂完成开机主动启动指定的剧本程序

</p>
开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。
山那边是海 该用户已被删除
沙发
发表于 2015-1-18 15:55:24 | 只看该作者
学习Linux半年了~个人认为不会的多在网上找资料网上有很多资料可以搜索到,LS那位说放手去搞。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-24 13:46:24 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
若相依 该用户已被删除
地板
发表于 2015-2-1 16:24:02 | 只看该作者
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
兰色精灵 该用户已被删除
5#
发表于 2015-2-7 09:49:28 | 只看该作者
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
分手快乐 该用户已被删除
6#
发表于 2015-2-21 19:07:29 | 只看该作者
尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。
admin 该用户已被删除
7#
发表于 2015-3-6 21:08:47 | 只看该作者
熟读写基础知识,学得会不如学得牢。
不帅 该用户已被删除
8#
发表于 2015-3-13 21:54:37 | 只看该作者
众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。
变相怪杰 该用户已被删除
9#
发表于 2015-3-20 19:55:12 | 只看该作者
这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-21 05:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表