• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    如何獲得上一個進程的pid的方法

    發布時間:  2012/7/23 19:14:47

    在《如何壓縮程序占用內存的方法》里我為了測試程序的內存占用大小寫了一個shell腳本

     

    1.$1 &  2.echo "$1 pid:$!" 3.sleep 3  4.pmap $!|grep total|awk -v pid="$!" '{print "pid",pid," memory:",$2}'
    里面需要用到linux shell的特殊變量$!,網上都是說$! 返回的是 上一個命令的PID。
    但是我實際測試得出,這個說法一般不對,一般對
    對于前臺命令不對:
     
    1.[root@bogon ~]# wc -l a.txt  2.2162 a.txt  3.[root@bogon ~]# echo $!  4.[root@bogon ~]# 
    但是對于后臺命令是對的
     
     
    1.[root@bogon ~]# wc -l a.txt &  2.[1] 9155  3.2162 a.txt  4.[root@bogon ~]# echo $!  5.9155  6.[1]+ Done wc -l a.txt 而且,之后若是執行的命令不是后臺命令的話,$!里的值都不會改變,直到下一個后臺命令執行為止

     

     

    1.[root@bogon ~]# wc -l a.txt  2.2162 a.txt  3.[root@bogon ~]# echo $!  4.9155  5.[root@bogon ~]# wc -l a.txt &  6.[1] 9198  7.[root@bogon ~]# 2162 a.txt  8.[1]+ Done wc -l a.txt  9.[root@bogon ~]# echo $!  10.9198 結論:$!保存的是最后一個后臺執行命令的pid,第一次登錄服務器時,$!為空

     

    億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
       聯系:億恩小凡
       QQ:89317007
       電話:0371-63322206


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線