`
zhanshenny
  • 浏览: 264401 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

命令或脚本执行的方式

阅读更多

1、source命令
   用法: source filename
   作用: 在当前bash环境下读取并执行filename中的命令,该filename文件可以无"执行权限" 
   注:source命令通常用“.”来替代,如:source bash_profile   . bash_profile两者等效。 
   source(或点)命令通常用于重新执行刚修改的初始化文档。 
   source命令(从 C Shell 而来)是bash shell的内置命令。 
   “.”命令(从Bourne Shell而来),就是顺序的执行文件里的命令。
2、sh和bash命令
   用法: sh filename 或 bash filename
   作用: 在当前相应的bash环境下新建一个子shell读取并执行filename中的命令,该filename文件可以无"执行权限" 
   注:两者在执行文件时的不同,是分别用自己的shell来跑文件。 
   sh使用“-n”选项进行shell脚本的语法检查,使用“-x”选项实现shell脚本逐条语句的跟踪,可以巧妙地利用shell的内置变量增强“-x”选项的输出信息等。
3、./命令
   用法: ./filename 
   作用: 打开一个子shell来读取并执行filename中命令,该文件必须有可执行的权限。 
   注:运行一个shell脚本时会启动另一个命令解释器。
4、exec
   作用: 以新的程序取代shell,或者改变shell本身的I/O设置。
   系统调用exec是以新的进程去代替原来的进程,但进程的PID保持不变。因此,可以这样认为,exec系统调用并没有创建新的进程,只是替换了原来进程上下文的内容。原进程的代码段,数据段,堆栈段被新的进程所代替。
   这个命令还可以作为find命令的一个选项。
   find ./ -name "test.txt" -exec rm {} /;

5、fork
   fork是linux的系统调用,用来创建子进程(child process)。子进程是父进程(parent process)的一个副本,从父进程那里获得一定的资源分配以及继承父进程的环境。子进程与父进程唯一不同的地方在于pid(process id)。

6. supervise
supervise是个进程的管理工具,原理是这样的 :
 supervise启动的时候fork一个子进程,子进程执行execvp运行指定的进程。指定进程变成supervise的子进程运行,而supervise则死循环运行,并通过waitpid或者wait3系统调用选择非阻塞的方式去侦听子进程的运行情况。当然同时也会读取pipe文件svcontrol的命令,然后根据命令去执行不同的动作。如果子进程因某种原因导致退出,则supervise通过waitpid或者wait3获知,并继续启动模块,如果模块异常导致无法启动,则会使supervise陷入死循环,不断的启动模块。

分享到:
评论

相关推荐

    xshell ssh自动登录并执行命令脚本.rar

    本压缩包“xshell ssh自动登录并执行命令脚本.rar”提供了一种自动化的方式,通过Xshell自动连接到SSH服务器并执行预设的命令脚本,极大地节省了手动操作的时间。 首先,我们需要了解SSH(Secure Shell),这是一种...

    hbase-shell批量命令执行脚本的方法

    批量执行hbase shell 命令 #!/bin/bash source /etc/profile ...以上这篇hbase-shell批量命令执行脚本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

    通过SSHPASS执行命令及相关脚本

    标题中的“通过SSHPASS执行命令及相关脚本”是指在Linux环境下使用`sshpass`工具进行非交互式SSH登录并执行远程命令的技术。`sshpass`是一个命令行实用程序,它允许用户在不手动输入密码的情况下,通过SSH连接执行...

    tp5执行shell命令定时执行命令行运行php脚本

    ThinkPHP5(简称TP5)是一个流行的PHP框架,它提供了一种方式来实现这种定时任务,即通过执行shell命令在命令行模式下运行PHP脚本。这个过程涉及到多个知识点,包括TP5的命令行工具、shell命令以及定时任务的设置。 ...

    SUSE Linux下开机自动运行脚本命令的方法

    在SUSE Linux(如openSUSE)中,为了实现系统启动时自动执行某些脚本或命令,需要了解和利用特定的启动脚本机制。本文将详细介绍openSUSE 11和10 SP2中的启动文件设置方法,并通过一个具体的例子来展示如何实现开机...

    java 执行cmd命令及mongodb脚本

    在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作系统级别的命令。这两种方法都能实现与操作系统的交互,但各自有其特点。 1. 使用Runtime类: ```java Runtime runtime = Runtime.getRuntime(); ...

    使用vi命令创建一个脚本文件

    在本文中,我们将一步步地指导您如何使用vi命令创建一个脚本文件,并对其进行编辑和执行。 首先,我们需要打开终端界面,然后输入`vi test`命令,并按下回车键。这将打开vi编辑器,并创建一个名为`test`的文件。 ...

    Logcat及adb shell命令的bat脚本实现例子

    如果在`bat`脚本中遇到进入`shell`后无法执行后续命令的问题,可能是因为没有正确处理命令的执行顺序或权限。确保每个命令都在适当的位置并赋予必要的执行权限是很关键的。 在编写`bat`脚本时,还需要注意以下几点...

    脚本运行命令提示符

    脚本运行命令提示符,只需稍微修改即可运行自定义命令

    windows登录ssh服务器自动执行命令脚本.vbs

    widnows自动登录ssh服务器自动执行命令的脚本

    Shell脚本中多命令逻辑执行顺序的方法详解

    在Shell脚本编程中,连接和控制多个命令的执行顺序是非常关键的,这涉及到脚本的逻辑流程和错误处理。本文将深入讲解如何利用分号、双and号、双竖线以及单个&符号来实现不同的命令执行逻辑。 1. 分号`;` 分号`;`...

    Python脚本后台运行的几种方式

    现在脚本正常运行,通过ps能看到进程号,此时直接关闭ssh终端(不是用exit命令,是直接通过putty的关闭按钮执行的), 再次登录后发现进程已经退出了。 通过后台启动的方式该问题已经解决,这里总结下,也方便我以后...

    ssh批量登录执行命令脚本

    做好ip清单,每行一个ip,ssh批量登录执行命令

    隐藏运行CMD命令脚本

    隐藏运行CMD命令脚本,可以使得CMD命令行在后台运行。

    修复windows下不能使用wmic命令的脚本

    WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批命令脚本执行系统管理的支持。非常好用命令,这个脚本用于修复wmic不能使用的问题

    Linux通过Shell脚本命令修改密码的两种方式

    交互方式修改密码 1. ssh 远程到主机; ... ... 3. passwd username ... 使用该命令会有提示,即进入了交互界面,输入密码即可。...使用脚本修改密码 ...方式1: echo password | passwd testuser --stdin > /dev

    通过shell脚本执行scp和ssh命令

    通过shell脚本执行scp和ssh命令

    aspx脚本之cmd小命令

    ASP.Net执行cmd命令的实现代码,需要的朋友可以参考下:using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web....

    后台执行CMD脚本,结果写入文件

    在IT行业中,后台执行CMD脚本是常见的自动化任务处理方式,尤其在系统管理和持续集成流程中扮演着重要角色。本文将深入探讨如何利用管道技术实现CMD脚本的后台执行,并将其结果写入文件,以便于日志记录和后续分析。...

    使用shell调用php脚本

    2. **使用php命令**:更常见的方式是通过`php`命令来运行脚本,如`php script.php`。这种方式不需要脚本具有可执行权限,但需要确保`php`命令在PATH环境变量中。 3. **结合其他shell命令**:shell脚本可以与其他...

Global site tag (gtag.js) - Google Analytics