linux 中如何linux定时执行php脚本脚本?

Linux Source命令及脚本的执行方式解析 - 笑遍世界的测试技术 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
All things are difficult before they are easy. 没有软件的裸机是一具僵尸,没有硬件的软件是一个幽灵。2012,专注于Linux和C语言,关注自动化、性能测试,关注开源社区和开源测试工具、方法,尝试测试团队管理!
Linux Source命令及脚本的执行方式解析
& 18:15:56
/ 个人分类:
当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用命令,如:source /etc/profile对source进行了,并且用它与sh 执行脚本进行了对比,现在总结一下。source命令:source命令也称为“”,也就是一个点符号(.),是bash的内部命令。功能:使读入指定的Shell程序文件并依次执行文件中的所有语句source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。用法:source filename 或 . filenamesource命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。source filename 与 sh filename 及./filename执行脚本的区别在那里呢?1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。2.sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。3.source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。举例说明:1.新建一个.sh脚本,内容为:A=12.然后使其可执行chmod +x test.sh3.运行sh test.sh后,echo $A,显示为空,因为A=1并未传回给当前shell4.运行./test.sh后,也是一样的效果5.运行source test.sh 或者 . test.sh,然后echo $A,则会显示1,说明A=1的变量在当前shell中Linux环境下c语言程序执行shell脚本
&同一个上,多人在同时使用,假如开发了一个shell脚本(名字为getcode.sh),大家在任何目录下都有可能会需要使用到,那么这种情况最好考虑写一个linux c语言的可执行程序(名为getcode),由这个c程序来执行shell脚本,然后将getcode二进制c程序放到/bin/或者/sbin/目录下,以后在任何目录都可以像使用ls命令一样来使用getcode,间接的就是在使用getcode.sh脚本了,而不需要每次将getcode.sh脚本拷贝当前目录来执行。
好吧!直接上代码,c语言下调用shell脚本
[cpp] view plaincopy
#include &stdio.h& &
#include &stdlib.h& &
#include &unistd.h& &
int main(int argc, char *argv[]) &
& & //printf(&count: %d\n&, argc); &
& & char sh_cmd[500]; &
& & //memset(sh_cmd, , sizeof(char)*500); &
& & // use bash &not source or . &
& & sprintf(sh_cmd, &bash /home/ubuntu/zhangmin/develop/getcode/getcode.sh&); &
& & & & //将执行时的参数全部传给run_py.sh脚本 &
& & int i = 0; &
& & for (i=1; i& ++i) &
& & & & sprintf(sh_cmd, &%s %s&, sh_cmd, argv[i]); &
& & } &重生之大文豪
& & //printf(&%s&, sh_cmd); &
& & system(sh_cmd); &
& & printf(&\n&); &
& & //system(&logname&); &
& & //system(&whoami&); &
最后使用gcc getcode.c -o getcode命令编译生成getcode应用程序
cp -fr getcode /bin/
sudo chmod 777 -R /bin/getcode
bash /home/ubuntu/zhangmin/develop/getcode/getcode.sh
这里执行getcode.sh脚本用到了bash,getcode.sh开头处使用!#/bin/bash
如果采用source 或者 . 命令 ,运行脚本可能会提示报错等。
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】当前访客身份:游客 [
当前位置:
centos的系统,假设我这里面有一个名叫& 123.sh,用于iptables防火墙的脚本,暂时不设置开机自动执行,全手动执行。但每次要想停止让这个脚本失效的话就需要重启服务器才可以,有没有命令可以直接停止这个123.sh脚本?
共有7个答案
<span class="a_vote_num" id="a_vote_num_
你把防火墙规则清空不就行了么?
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -Z
iptables -t nat -X
--- 共有 2 条评论 ---
不需要重启 iptables 服务, 直接执行 123.sh 就又加上规则了
(4年前)&nbsp&
你好,如果用清空规则的命令,到时候是不是可以重启iptables ,再执行sh 123.sh
就又可以全部恢复规则呢
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
ps查找,kill杀掉
<span class="a_vote_num" id="a_vote_num_
ps -ef|grep 123
PID是第一条命令出来的进程ID
--- 共有 3 条评论 ---
: 我这个脚本里面全是禁止的IP段,用kill进程号应该可行,我去试试看,谢谢
(4年前)&nbsp&
应该问楼主是要恢复脚本运行前的状态还是仅仅是要杀掉进程,要是需要恢复的话,那就写逆向脚本就好了,服务器的防火墙规则不能这么清空的
(4年前)&nbsp&
仔细读题, 这个脚本执行完了难道不退出?
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
不能停止脚本吧。只能杀掉脚本启动的进程。
不过你可以写个逆向脚本,杀掉全部跟这个脚本有关的进程,也就是相当于杀掉脚本了。
是不是这样说的?
<span class="a_vote_num" id="a_vote_num_
你的脚本是无限循环的吗?不是无限循环的执行完命令后会自动退出的!如果是想在执行的过程中结束,可以用 ctrl+c 终止,如果是 后台运行的, ps -ef | grep 脚本名称 ,根据查出来的进程号 &直接 kill -9 进程号就好了 不想两部走 给你一个命令 & kill -9 &ps -ef | grep 脚本名称 | awk '{ print $2&
把脚本名称替换上就好了!
--- 共有 1 条评论 ---
谢谢,已解决
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
pkill 123.sh
<span class="a_vote_num" id="a_vote_num_
我今天遇到这样的问题,最后还得一个个kill,
更多开发者职位上
有什么技术问题吗?
郑伊健的其它问题
类似的话题以上由提供
当前位置:
> 详细页面
Linux shell如何调用另一个脚本文件
时间: 16:24来源:作者:qipeng
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
系统教程栏目
热门系统教程
在笔记本电脑早已普及到会议室的这个年代,商务人士拿笔记...
热门系统下载
最新系统教程
热门软件下载
Copyright&2011 系统之家(www.xitongzhijia.net) 版权所有 闽ICP备号-1
本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!
如侵犯到您的权益,请及时通知我们,我们会及时处理。

我要回帖

更多关于 linux执行脚本 的文章

 

随机推荐