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

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

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

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

廣告

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

微信小程序開發(fā)