shell實現只能開啟一個程式執行個體

來源:互聯網
上載者:User

用上Ubuntu10.04這些天,總是不知覺間會開啟同一程式的多個執行個體,比如firefox/chromium等等,於是編寫了下邊這段指令碼來實現只開啟一個執行個體的功能:

#!/bin/sh
#name: one
#auther: maxupeng
#date: 2011-07-02

if [ "$#" -lt 2 ]; then
echo "用法:one <進程名> <程式名> [<程式參數>]"
exit -1
fi

process=$1;
program=$2;
shift;
shift;
params=$*;

n=`ps -A | grep $process | wc -l`;
if [ "$n" -eq 0 ]; then
$program $params;
fi

指令碼命名為one,執行chmod u+x one添加可執行許可權,然後sudo mv one /usr/bin放到bin目錄下,這樣系統就能找到我們的指令碼。

現在,將啟動chromium的捷徑的命令改為one chromium-browse /usr/bin/chromium-browser %U

其中chomium-browse是chromium在運行時的進程名,這樣每次點擊chromium捷徑時,如果chromium的進程已存在,則不會再啟動新的chromium了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.