我试图找出两个进程在Linux中运行我的oracle安装pmon
和smon
我用下面的命令
ps -ae | grep pmon > /dev/null;echo $?
和
ps -ae | grep smon > /dev/null;echo $?
现在我想将两个命令优化为单个
我知道grep
中有选项如下
ps -ae | grep 'pmon\|smon' > /dev/null;echo $?
但问题在于,如果运行它的任何进程返回0错误代码
但我想要一个基于AND
的搜索。仅当两个进程都在运行时,命令才应返回0。
答案 0 :(得分:1)
你可以试试这个:
pgrep pmon > /dev/null && pgrep smon > /dev/null; echo $?
或
pgrep pmon > /dev/null && pgrep smon > /dev/null && echo both running
答案 1 :(得分:1)
我建议你使用这样的东西:
if ps -ae | grep -q pmon && ps -ae | grep -q smon; then
echo "pmon and smon are running"
fi
-q
切换到grep会阻止任何输出,因此您不必自己重定向到/dev/null
。如果您有pgrep
,则可以使用ps
而不是grep
来&&
。
当然,你可以“优化”这一行,可选择使用另一个if
代替<select name="countries[]" id="update_supp_last_countries" style="width:305px;" multiple="multiple" required>
<?php
foreach($supp_last_count_Row as $results5){
$supp_last_country5[$i5] = $results5['countries'];
$i5++;
?>
<option value='<?php echo $supp_last_country5[$itr5];?>' selected> <?php echo $supp_last_country5[$itr5];?> </option>
<?php $itr5++; } ?>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antartica">Antarctica</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
,但我真的看不到这个优势!< / p>
答案 2 :(得分:0)
试试这个:
ps -ae | egrep&#39; pmon,smon&#39;