2018年5月23日 星期三

License issues

1) Set License debugging ENV variables
setenv FLEXLM_DIAGNOSTICS 3
setenv ALTOS_LM_DIAGNOSTICS 1
setenv CDS_LIC_QA_TesT `pwd`/CDS_LOG_FILE


The last one creates a detailed license debug logfile that shows tools and activity. This is the key.

2) Run the target tool/flow

3) Search the CDS_LOG_FILE for relevant tools and hits
> egrep "Checking out|Initialization" CDS_LOG_FILE

3a) "Initialization started" lines show the tool name and PID.
- Use this to track subsequent activity for that process

3b) "Checking out" lines only show license checkouts
- Useful for tracking tools and licenses used
- Does not show all of the rest of the license activity (check FeatureExists, FeatureStatus, etc.) which are additional license server hits and add to the DDoS effect.

Kill processes

pgrep : grep processes

pkill :  pgrep + kill 的功能,也就是說,你可以給 pkill 任何一組字串或正規表示式 ( Regular Expression) 當參數,然後,pkill 就會去找出所有符合指定條件的程序名稱,接著,就會送出一個結束程序的訊號 ( SIGTERM ) 給這些符合條件的程序來結束掉這些程序

killall : 用完整名稱來搜尋要刪除的程序

killall 指令只會完整比對程序名稱的前 15 個字元,因此,如果你要刪除的那堆程序的名稱有超過 15 字的話,那就要加個「e」選項來要求 killall 指令做完整比對,否則,還是有機會讓 killall 指令刪錯

killall -e del-very-long-long-name-processes 

2018年5月14日 星期一

印出檔案的第一行及最後一行

grep:
grep -E 'Thread|TIMESTAMP' test.log | head -1

Sed:
sed -e 1b -e '$!d' test.log
or
印出找到的第一個
sed -n '/TIMESTAMP/{p;q;}' test.log

Awk:
awk 'NR==1; END{print}' test.log

Linux:
(head -n1 && tail -n1) < test.log

標籤