douji9518 2018-02-15 12:34
浏览 49

如何将exec()输出转换为整数并执行操作

I am running a php script to find out how many python3 processes are running on my machine. I use the following code:
$count = exec("pgrep -c python3")
This returns me 2 (if 2 processes are running, for example). Now I need to do mathematical operation on this output, say subtract this count from 5. When I do so and echo the output, I get nothing. I tried typecasing to int, but that won't help.

Can somebody please suggest what I am doing wrong here?

  • 写回答

1条回答 默认 最新

  • dongqia3502 2018-02-15 12:45
    关注

    Try the following function:

    /**
     * Count the number of  processes runing based on their name
     * @param string $processus_name
     * @return integer|boolean
     */
    function count_processus( $processus_name = '' ){
        $processe_name = escapeshellarg( $processus_name );
        $exit_status = 0;
        $output = '';
        $cmd = sprintf( 'pgrep -c %s', $processus_name );
        exec( $cmd, $output, $exit_status );
        if( $exit_status != 0 ){
            // Faild $output will containe the error message
            return false;
        }
    
        return (int)$output[0];
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题