`
conkeyn
  • 浏览: 1522942 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

判断在linux以命令行执行的文件是否还在执行

    博客分类:
  • PHP
阅读更多
// 取得当前程序进程,用来判断是否可以执行
$gather_in_pro = shell_exec('ps -ef | grep "' . basename(__FILE__) . '"|grep -v grep | awk \'{print $2}\'');

// 判断进程中有几个本程序,如果只有一个说明是本程序的主程序,
// 如果超过一个则说明仍有本程序的子进程在运行
// 计划任务执行时会产生两个进程:
//         /bin/sh -c php your_phpfile.php
//         php your_phpfile.php
// 所以判断条件(当前程序进程数)应大于 2
if (count(explode("\n", trim($gather_in_pro))) > 2)
{
    // 如果进程不为空则说明当前正在执行,给予提示并退出程序
    echo "\n采集、分析程序正在运行!\n";
    echo shell_exec('ps -ef | grep "' . basename(__FILE__) . '"|grep -v grep') . "\n";
    exit();
}
 
分享到:
评论

相关推荐

    Linux shell 命令行及脚本编程实例详解

    Linux Shell是Linux操作系统中用户与系统交互的主要接口,它是一个命令行解释器,允许用户通过输入命令来执行系统操作。Shell脚本编程则是利用Shell语言编写的一系列命令集合,可以实现自动化任务处理,大大提高了...

    快乐的Linux命令行

    ### 快乐的Linux命令行知识点详述 #### 引言 - **为什么使用命令行**:在Linux环境中,命令行界面(CLI)提供了一种高效、直接与系统交互的方式。相较于图形用户界面(GUI),命令行允许用户通过简单的文本命令来...

    Linux命令行概述.rar

    - **which**:查找指定命令的可执行文件路径。 6. **包管理和软件安装** - **apt/yum**:Debian/Ubuntu系统使用apt,Red Hat/CentOS系统使用yum,用于安装、更新和管理软件包。 7. **网络与系统管理** - **ping...

    快乐的linux命令行

    - **本书的内容**:本书旨在帮助初学者掌握Linux命令行的基本操作,内容涵盖了从简单的文件系统导航到复杂的命令组合与脚本编写。 #### 什么是shell - **终端仿真器**:在现代计算机上,我们通常通过终端仿真器来...

    五子棋在linux命令行模式下C语言实现

    接下来,我们来看看如何在Linux命令行中操作: 1. **解压文件**:如果你有一个名为“wuziqi”的压缩文件,可以使用`tar -zxvf wuziqi`来解压(假设是`.tar.gz`格式)。如果是`.zip`文件,则使用`unzip wuziqi.zip`...

    Linux批量scp命令执行工具 可批量对多个Linux主机执行传输文件命令 方便省力 适合统一化管理Linux服务器

    在日常运维工作中,经常需要在多台远程Linux主机之间传输文件,这时,手动执行scp命令会显得效率低下且容易出错。为了解决这个问题,就有了“Linux批量scp命令执行工具”,它能够帮助管理员批量地对多个Linux主机...

    Linux+命令行和shell脚本编程宝典.pdf

    该书不仅覆盖了基础的命令行操作,如文件管理、进程控制、网络配置等,还深入讲解了shell脚本的编写技巧,包括变量处理、条件判断、循环结构、函数定义以及错误处理等高级主题。 ### Linux命令行基础 在Linux系统...

    用Shell编程实现DOS风格Linux命令行

    本文主要介绍了如何利用Shell脚本创建DOS风格的Linux命令行。 首先,了解Shell脚本的基础是非常必要的。一个基本的Shell脚本通常以`#!/bin/sh`或`#!/bin/bash`作为开头,这被称为“shebang”,它告诉系统使用哪个...

    linux命令行.pdf

    - **命令示例**:学习如何运行简单的命令如`pwd`(显示当前工作目录)、`ls`(列出当前目录下的文件和子目录)等是理解Linux命令行的基础。 - **结束终端会话**:通过输入`exit`命令可以退出当前的终端会话。 #### ...

    中文版和英文版的linux源码实战的 Linux 命令行教程

    Linux命令行提供了一种高效且强大的工具集,用户可以通过键入命令来执行各种任务,如文件管理、系统监控、网络操作等。 在Linux命令行中,每个命令通常由一个命令名称和可选的参数组成。例如,`ls`命令用于列出当前...

    1LINUX操作系统.docx

    如果文件具有`x`(执行)权限,那么它被视为可执行文件。 4. **文件系统管理**: - 在Red Hat Linux中,`mount`命令用于将分区挂载到特定目录。 - 错误描述:在Linux中,文件浏览管理器如Nautilus可以进行磁盘和...

    autocreatevuefilebyshell通过命令行自动创建vue文件

    Shell脚本是Unix/Linux环境下的命令行脚本,可以用来执行一系列系统命令。利用Shell脚本自动化创建Vue文件,首先要了解基本的Shell语法,例如变量、循环、条件判断等。你可以创建一个脚本文件(如:create-vue-files...

    Linux命令行与shell脚本编程大全案例.zip

    通过学习和实践这个压缩包中的案例,你可以深入了解Linux命令行的使用,以及如何编写高效、实用的Shell脚本,从而提升在Linux环境下的工作效率。无论是日常系统管理,还是自动化任务处理,这些技能都将大有裨益。在...

    SFTP定时扫描本地文件上传到Linux服务器

    【标题】"SFTP定时扫描本地文件上传到Linux服务器"涉及的关键知识点主要集中在SFTP(Secure File Transfer Protocol)协议的使用、文件系统的监控以及自动化任务的执行。SFTP是一种安全的网络协议,用于在不同主机...

    如何在Linux系统环境中模拟DOS命令

    在Linux系统环境中模拟DOS命令主要是利用Linux的命令行接口,即shell的灵活性来实现。shell脚本是一种强大的工具,可以执行一系列命令,包括在DOS环境下常用的命令。以下是一些关键点,帮助你理解如何在Linux中创建...

    如何编写Linux Makefile文件

    之后,多个目标文件将被链接成最终的可执行文件,这个过程称为链接。链接器负责查找并解决函数和全局变量的引用问题。在实际操作中,由于源文件众多,往往需要将多个目标文件打包成库文件(.a或.lib),以简化链接...

    linux试卷集合(包括选择,填空,判断是非,综合)

    选择题通常涵盖Linux的基本概念、命令行操作、文件系统、权限管理等内容。例如: 1. Linux的发行版:Ubuntu、CentOS、Red Hat、Debian等都是流行的Linux发行版,它们在用户界面、软件包管理和更新策略上有所区别。 2...

Global site tag (gtag.js) - Google Analytics