"Java + SSH + HSPICE" or "TCSH + SSH + HSPICE

newmedia의 이미지

Java를 이용한 ssh사용에 관한 질문인데요. 제가 리눅스 머신이 3개가있다고 가정하고(M1, M2, M3) 각기 다른 HSPICE source code를 M2, M3에서 동시에 실행하고 싶습니다. 그래서 다음과 같은 java code를 M1에서 실행하였습니다.

Proc proc1 = Runtime.getRuntime().exec(ssh -f M2 hspice xxx.sp);
Proc proc2 = Runtime.getRuntime().exec(ssh -f M3 hspice yyy.sp);

결국 M1에서 M2와 M3에서동시에 hspice를 실행하는 코드입니다. 이렇게 프로그래밍한 목적은 hspice xxx.sp가 실행시간이 한시간 정도되고 hspice yyy.sp도 비슷한 시간이 걸려서 각기 다른 컴퓨터에 분산실행해서 시뮬레이션 시간을 줄이려는 의도입니다.

문제는 자바에서 보면 프로세스가 종료가 안되는것처럼 보입니다. 그래서 프로세서 종료를 기다리는 루틴에서 계속 루프를 돌고 있습니다. 하지만 M2와 M3에서 확인하면 프로세서가 종료된것으로 보입나. 이런 경우는 wait()를 사용해서 일정시간 이후에 프로세서를 강제종료해야하나요? 아니면 다른 방법이있는 건가요?

똑같은 내용을 TCSH script로 구현해도 enter를 치지않으면 command prompt로 돌아오지 않는 군요.

아무리 web을 뒤져도 이런내용은 안나오는군요. 혹시 이런 문제보신 분이나 해결법을 아시는 분없나요?

creativeidler의 이미지

익명 사용자의 이미지

답변감사합니다....

사실은 waitFor도 사용해 보았는데.... 컴퓨터 M1이 M2, M3의 프로세스가 종료된것을 알지못해서 waitFor를 사용하여도 계속 기다리가만 할뿐 M2, M3에서 프로세스가 종료된것을 모르고 waitfor에서 계속 기다리더군요.

근데... 이문제는 java의 문제가 아닌거 같고... 기본적으로 ssh를 이용한 batch작업의 문제인거 같기는 합니다만... 제가 증명을 할수는 없군요.

제 생각에는 M1이 M2에서 프로그램을 백그라운드로 실행시키고... M2에서 다른 프로그램을 백드라운드로 실행시키는 동안 커뮤니케이션 채널을 잃어버리는거 같습니다.

이문제는 ssh를 사용한 batch작없에 관한 문제인거 같습니다.

creativeidler의 이미지

-f 옵션을 꼭 사용해야하나요? 그것만 아니면 정상적으로 되는 것 같습니다. runtime.exec 두 개를 쓰레드로 돌리면 어쨋든 목적 달성에는 지장이 없을 듯 하네요.

자바의 SSH 라이브러리를 사용해보는 것도 괜찮을 것 같군요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.