프로세스 개념을 배우다 저자가 소개해준 프로세스 코딩을 살펴봤다.
(https://github.com/kangtegong/self-learning-cs/blob/main/process/process_cplusplus.md)
해당 페이지에는 c/c++ 혹은 파이썬 밖에 없어서 안그래도 모르겠는데 더 아리송해짐.
그래도 어떻게 생겨먹었는지 궁금은 하니까 챗지피티에게 해당 페이지 자바로 해석해달라고 부탁🙏 시전.
아래와 같은 코드를 짜줬다.
✅ 아래 코드 실행 시 메모장이 열린다.
package process;
public class practice01 {
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("notepad");
System.out.println("메모장 실행됨!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Runtime.getRuntime().exec("notepad");
exec()가 child 프로세스를 여는건데 여기서 보니 반갑다. 근데 실제로 코드를 실행시켜보니 exec에 이클립스가 자체적으로 줄 하나를 그어놨다. 이렇게
Runtime.getRuntime().exec("notepad");
exec 는 자바에서 쓰지 않는단 말인가.
여튼 해당 코드 따라 적어보면서 알아낸 사실
try = 문제생길 수 있는 코드를 실행해보는거
catch = 문제 생기면 알려줘! 라고 요청
catch (Exception e) {
e.printStackTrace(); }
요건 정말 많이 봤는데 (무지성 카피 많이 해봄) 음음. 그런 역할이었군. 음음
✅ 다른코드. (작업상태 볼 수 있는 코드)
package process;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class practice02 {
public static void main(String[] args) {
try {
Process process = Runtime.getRuntime().exec("tasklist");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
process.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
해당 코드를 실행하면 현재 실행되고 있는 프로그램들이 console에 좌르륵 뜬다. 마치 cmd창에서 뜨는것 처럼 말이지.
브라우져는 크롬을 사용해서 chrome.exe 가 많은데, 맨날 아이콘만 클릭클릭하다가 exe 보니까 왠지 생소한 문송인... ^^
여튼 그 좌르륵 뜨는건 cmd에서 "tasklist"쓰면 좌르륵 나오는 걔가 예임.
BufferedReader도 어디선가 봤었는데 나오고.
while문도 나온다.
무슨말인지 모르지만 여튼.. 머 그렇다고 합니다.
프로세스는 자바가 잘 안쓰인다고 한다. 그러고보니 C/C++는 정말 프로그래밍에 많이 쓰이고 자바는 웹개발이나 sw쪽에 많이 쓰이는걸까? (그건그렇고 책 저자가 해당 코드를 파이썬으로도 정리해놓은게 있는건 넘나 놀라운 사실... 파이썬도 운영체제 프로그래밍에 많이 쓰이나?🤨)
여튼 오늘도... 재미난 콤퓨터 세상... ㅎ
'콤퓨타 > Programming) 왕초보 자바' 카테고리의 다른 글
| 06. (Strings) Control Characters (2) | 2025.06.06 |
|---|---|
| 05. (Strings) Joining Strings (2) | 2025.06.04 |
| 04. (Variables) Converting Temperatures (1) | 2025.05.28 |
| 03. (Variables) Assigning Variables (1) | 2025.05.28 |
| 02. (Variables) Integer (1) | 2025.05.23 |