① 3台linux-centos機器的無秘鑰ssh配置都完成了,都安裝了jdk,但是ssh xxx jps無效!
通過SSH直接執行遠程命令和腳本
這種方式會使用Bash的non-interactive + non-login shell模式,它會創建一個shell,執行完腳本之後便退出,不再需要與用戶交互。
no-login shell,顧名思義就是不是在登錄Linux系統時啟動的(比如你在命令行提示符上輸入bash啟動)。它不會去執行/etc/profile文件,而會去用戶的HOME目錄檢查.bashrc並載入。
系統執行Shell腳本的時候,就是屬於這種non-interactive shell。Bash通過BASH_ENV環境變數來記錄要載入的文件,默認情況下這個環境變數並沒有設置。如果有指定文件,那麼Shell會先去載入這個文件裡面的內容,然後再開始執行Shell腳本。
解決方案:
在將要登陸的主機的用戶目錄下修改.bashrc文件,新增
export java_HOME=/soft/ln/jdk
export PATH=$PATH:$JAVA_HOME/bin
保存退出後
source .bashrc
然後在重新使用ssh命令登陸
② linux 查看zookeeper是否啟動
③ linux命令里的jps是什麼意思
jps 是java提供的一個顯示當前所有java進程pid的命令,適合在linux/unix平台上簡單察看當前java進程的一些簡單情況。
④ linux命令里的jps是什麼意思
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java進程pid的命令,簡單實用,非常適合在linux/unix平台上簡單察看當前java進程的一些簡單情況。
⑤ linux怎麼查看jvm正在使用的哪個垃圾回收器
搜一下jps和jmap命令,是JDK提供的,jps能顯示出jvm的進程號,然後用jmap顯示jvm的配置和信息
⑥ jdk-7u67-linux-x64中包含jps嗎
我的也是這樣的,貌似是沒有把java的bin文件夾位置寫入到 /etc/profile中,你可以直接使用/(java_home)/bin/jps,我現在就是這么辦的
⑦ Linux下查看一個進程佔用了哪個埠的方法
時候需要在Linux下查看一個進程佔用了那個埠,但是只知道進程大致的名稱,比如要查看hadoop的namenode在哪個埠上運行,以便在eclipse中連接。
首先用ps命令查看進程的id:
復制代碼代碼如下:
$ ps -ef | grep Name
其中每一行(很長的時候會佔用若干行)的第二個欄位就是進程的id。
當然,對於在java虛擬機中運行的進程,比如hadoop的守護進程,可以直接用jsp命令查看:
$ jps | grep Name
或者已經知道進程的確切名稱,可以用pidof查看:
$ pidof Name
查看到進程id之後,使用netstat命令查看其佔用的埠:
$ netstat -nap | grep pid
⑧ linux伺服器佔用CPU過高
web應用部署到Linux伺服器上,CPU佔用過高
公司項目部署到Linux伺服器上後,過了一段時間,CPU過高,開始尋找原因
有這么幾步:
1.通過top命令(top之後再按shift+H可以顯示線程)查看CPU使用率高的線程;
2.將這個線程號轉換為16進制;
3.使用jps查看伺服器的Java進程號;
4.使用jstack [進程號] 列印當前的進程堆棧;
5.從列印的信息中,找到第2步得到的線程號,看看這個線程在做什麼。
不一定一次就能抓准線程狀態,可以第1步時多記幾個線程。
希望可以幫到你:www.linuxdby.com
⑨ linux系統下用jps命令查看java進程,提示process information unavailable是為什麼
一般kill進程是這樣的:
比如你要殺掉top進程,
ps-ef|greptop查看top進程因為顯示出進程數太多使用grep過濾,
kill-9殺掉top進程,
ps-ef|greptop查看top進程有沒殺掉,如圖已殺掉