public static void main(String args[]) throws JSchException, InterruptedException, IOException {
JSch objJSch = new JSch();
Session objSession = objJSch.getSession("userName", "ip_address");
objSession.setPassword("password");
objSession.setConfig("StrictHostKeyChecking", "no");
System.out.println("Establishing Connection...");
objSession.connect();
System.out.println("Connection established.");
Channel objChannel = objSession.openChannel("exec");
((ChannelExec) objChannel).setCommand("ps aux");
InputStream in = objChannel.getInputStream();
objChannel.connect();
String s;
BufferedReader br = new BufferedReader(new InputStreamReader(in));
while ((s = br.readLine()) != null)
System.out.println(s);
System.out.println("disconnecting...");
objChannel.disconnect();
objSession.disconnect();
System.out.println("disconnected.");
}
JSch 라이브러리를 사용하면 ssh 연결이 가능합니다. 다음과 같은 의존성 다른 다운로드를 추가 다음 link의 다른 예를 통해 이동 경로에 항아리를 배치 할 수 있습니다 :
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.53</version>
</dependency>
당신은 루프 내부 서버의 'N'번호의 과정을 반복 할 수 있습니다. 위의 코드는 다음과 같은 결과를 출력합니다 : (os에 의존. 우분투를 사용하고 있습니다. 이상한 테이블 디자인 때문에 나를 용서해줍니다. 제대로 포맷 할 수 없었습니다).
|| 사용자 || PID || % CPU || % MEM || VSZ || RSS || TTY || STAT || START || TIME || COMMAND ||
|| 루트 || || || 0.0 6,860 2,202 144,768 || || 0.0 || || S || 04 : 57 || 0 || 00 tint2 ||
... // 다음 행
... // 스탯 열이 응용 프로그램의 상태를 나타내고
다음 행에게.
(이벤트가 완료 될 때까지 대기) (실행 큐에)
D 무정전 수면 (보통 IO)
R 실행 또는 실행 가능한
가 인터럽트 잠을 S : 다음은 응용 프로그램의 그럴듯한 상태입니다
T는
W 페이징합니다 (2.6.xx 커널 보낸 잘못)
잡 제어 신호에 의해 또는이를 추적 중이므로 역시 정지
X 죽은
(link에서 가져온 정보 위의) 부모에 의해 수확,
Z 소멸 ("좀비") 과정 (절대 볼 수없는) 종료하지만
당신은 지금까지 무엇을하려고 않았다 ? – Abhishek
어디서부터 시작 해야할지 모르겠다. java에서 리눅스 프로세스를 읽는 법을 알지 못한다. Go, google links – saivinod