linux使用top重定向生成文本時command列被截取的問題-創(chuàng)新互聯(lián)

數(shù)據(jù)庫服務器上部署有oswbb監(jiān)控,在一次故障發(fā)生時,發(fā)現(xiàn)其top監(jiān)控中command列只有簡略的命令,比如ckpt或者LOCAL=NO的oracle進程的command都顯示為oracle,不能分辨出到底是oracle的什么進程出了問題。為了讓其顯示完整的command,更改了其xtop.sh腳本文件,增加了-c選項。手工運行xtop腳本,觀察生成的文件,滿足了要求。但是在oswbb自己調(diào)用中出現(xiàn)了問題,command列被截取了,一行的長度大80個字符。
排查了oswbb中的腳本,沒有發(fā)現(xiàn)有截取命令
懷疑是環(huán)境變量的問題,因為手工運行沒問題,腳本自動調(diào)用有問題,腳本使用nohup來調(diào)用xtop,nohup調(diào)用經(jīng)常會出現(xiàn)環(huán)境變量問題,網(wǎng)上查了下shell的默認環(huán)境變量,找到了COLUMNS這個變量,通過set查看當前的環(huán)境變量,可以看到COLUMNS=189,在xtop.sh腳本中設置export COLUMNS=189解決。
$* 將所有命令行參數(shù)當做單個文本值包含
$@ 將所有命令行參數(shù)當做獨立的文本值包含
$# 命令行參數(shù)數(shù)目
$? 最近使用的前端進程的退出狀態(tài)碼
$- 當前命令選項標記
$$ 當前shell的進程ID(PID)
$! 最近執(zhí)行的后臺進程PID
$0 來自命令行的命令名稱
$_ shell的絕對路徑名
BASH 用來調(diào)用shell的全文件名
BASH_ARGC 當前子函數(shù)中的參數(shù)數(shù)目
BASH_ARGV 含有所有指定命令行參數(shù)的數(shù)組
BASH_COMMAND 當前正在被執(zhí)行的命令的名稱
BASH_ENV 如果設置了的話,每個bash腳本都會嘗試在運行前執(zhí)行由這個變量第一的起始文件
BASH_EXECUTION_STRING 在-c命令行選項中用到的命令
BASH_LINENO 含有腳本中每個命令的行號的數(shù)組
BASH_REMATCH 含有與指定正則表達式匹配的文本元素的數(shù)組
BASH_SOURCE 含有shell中已聲明函數(shù)所在源文件的名稱的數(shù)組
BASH_SUBSHELL 當前shell產(chǎn)生的子shell數(shù)目
BASH_VERSION 當前bash shell實例的版本號
BASH_VERSINFO 含有當前bash shell實例的主版本號好次版本號的可變數(shù)組
COLUMNS 含有當前bash shell實例使用的終端的終端寬度
COMP_CWORD 含有當前光標位置的變量COMP_WORDS的索引值
COMP_LINE 當前命令行
COMP_POINT 當前光標位置相對于當前命令起始位置的索引
COMP_WORDS 含有當前命令行上所有的單詞的可變數(shù)組
COMPREPLY 含有由shell函數(shù)生成的可能填充字的可變數(shù)組
DIRSTACK 含有目錄棧當前內(nèi)容的可變數(shù)組
EUID 當前用戶的數(shù)字有效用戶ID
FCEDIT fc命令使用的默認編輯器
FIGNORE 冒號分隔的文件名補全時要忽略的后綴名列表
FUNCNAME 當前執(zhí)行的shell函數(shù)的名稱
GLOBIGNORE 以冒號分隔的模式列表,定義了文件名展開時要忽略的文件名集合
GROUPS 含有當前用戶屬組列表的可變數(shù)組
histchars 控制歷史記錄展開的字符,最多有3個字符
HISTCMD 當前命令在歷史記錄中的位置
HISTCONTROL 控制哪些命令留在歷史記錄列表中
HISTFILE 保存shell歷史記錄列表的文件名(默認是 .basj_history)
HISTFILESIZE 在歷史記錄中保存行數(shù)的上限
HISTIGNORE 冒號分隔的用來決定哪些命令不存進歷史文件的模式列表
HISTSIZE 最多在歷史文件中保存多少條記錄
HOSTFILE 含有shell在補全主機名時讀取的文件的名稱
HOSTNAME 當前主機的名稱
HOSTTYPE 當前運行bash shell的機器
IGNOREEOF shell在退出前必須收到連續(xù)EOF字符的數(shù)量,如果不存在這個值,默認是1
INPUTRC readline初始文件名(默認是 .inputrc)
LANG shell的語言環(huán)境分類
LC_ALL 定義個語言環(huán)境變量,覆蓋LANG變量
LC_COLLATE 設置對字符串值排序時用的對照表順序
LC_TYPE 決定在文件名展開和模式匹配時用字符如何解釋
LC_MESSAGES 決定解釋前置美元符($)的雙引號字符串的語言環(huán)境變量
LINENO 腳本中當前執(zhí)行的行號
LINES 定義了終端上可見的行數(shù)
MACHTYPE 用“cpu-公司-系統(tǒng)”格式定義的系統(tǒng)類型
MAILCHECK shell多久查看一次新郵件(以秒為單位,默認是60)
OLDPWD shell之前的工作目錄
OPTERR 設置為1時,bash shell會顯示getopts命令產(chǎn)生的錯誤
OSTYPE 定義了shell運行的操作系統(tǒng)
PIPESTATUS 含有前端進程的退出狀態(tài)碼列表的可變數(shù)組
POSIXLY_CORRECT 設置了的話,bash會已POSIX模式啟動
PPID bash shell父進程的PID
PROMPT_COMMAND 設置了的話,在命令行主提示符顯示之前會執(zhí)行這條命令
PS1 主命令行提示符字符串
PS2 次命令行提示符字符串
PS3 select命令的提示符
PS4 如果使用bashde -x參數(shù),在命令行顯示之前顯示的提示符
PWD 當前工作目錄
RANDOM 返回一個0~32767的隨機數(shù);對其賦值可作為隨機數(shù)生成器的種子
REPLY read命令的默認變量
SECONDS 自動shell啟動到現(xiàn)在的描述;對其賦值將會充值計數(shù)器
SHELLOPTS 冒號分割的打開的bash shell選項列表
SHLVL 表明shell級別,每次有新bash shell(啟動自增)
TIMEFORMAT 指定了shell顯示時間值的格式
TMOUT select和read命令在沒輸入的情況下等待多久(以秒為單位)。默認為零,表示無限長
UID 當前用戶的真實用戶ID

網(wǎng)站題目:linux使用top重定向生成文本時command列被截取的問題-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://muchs.cn/article30/ceojpo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站排名、虛擬主機、網(wǎng)站內(nèi)鏈網(wǎng)站改版、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)