±Û¾´ÀÌ :ÀÌÈ«¶ô 1999³â 10¿ù 12ÀÏ 17:36:12
UNIX ¿¡¼ ´Ù¸¥ ÇÁ·Î±×·¥ ½ÇÇà½ÃÅ°´Â ÇÁ·Î±×·¥À» ¸¸µé¾ú½º½À´Ï´Ù. ÀÌ Å¬·¡½º´Â user ÀÇ input À» ÇÁ·Î±×·¥À¸·Î º¸³»ÁÖ°í, ÇÁ·Î±×·¥¿¡¼ ³ª¿À´Â Ãâ·ÂÀ» user ¿¡°Ô º¸¿©ÁÖ´Â ¿ªÇÐÀ» ÇÕ´Ï´Ù.
¼Ò½º´Â ´ÙÀ½°ú °°½À´Ï´Ù.
import java.io.*;
class Shell
{
private BufferedReader m_fromServer= null;
private PrintStream m_toServer= null;
private DataInputStream m_fromUser= null;
private Runtime m_rt = null;
private Process m_ps= null;
public Shell()
{
m_rt= Runtime.getRuntime();
try
{
m_ps= m_rt.exec("a.out");
m_fromServer= new BufferedReader(new InputStreamReader(m_ps.getInputStream()));
m_toServer= new PrintStream(m_ps.getOutputStream());
m_fromUser= new DataInputStream(System.in);
} catch (Exception e) {
System.out.println("Error occurred!"+ e);
}
StartProcess();
System.out.println("Shell Process End...");
m_ps.destroy();
}
private void StartProcess()
{
(new ShellServerMessage()).start();
String msg;
try {
while (true)
{
msg= m_fromUser.readLine();
m_toServer.println(msg);
}
}
catch( IOException ex)
{
ex.printStackTrace();
}
finally
{
System.exit(0);
}
}
class ShellServerMessage extends Thread {
public void run()
{
int in;
try
{
while (true)
{
try {
m_ps.exitValue();
m_fromServer= null;
}catch (IllegalThreadStateException ex) {};
in= m_fromServer.read();
while(in !=-1){
System.out.println(in);
in= m_fromServer.read();
}
}
}
catch( IOException ex)
{
ex.printStackTrace();
}
finally
{
System.exit(0);
}
}
}
public static void main(String args[])
{
new Shell();
}
}
¿¹¸¦ µé¾î ½ÇÇà½ÃÅ°·Á´Â ÇÁ·Î±×·¥ÀÌ
main()
{
printf("hello\n");
}
ÀÎ °æ¿ì Á¤»óÀûÀ¸·Î Á¾·áÇÕ´Ï´Ù.
±×·¸Áö¸¸
main()
{
char str[80];
printf("input string\n");
scanf ("%s", str);
printf("str: %s", str);
}
À§¿Í °°ÀÌ ½ÇÇàÇÏ¸é ¾Æ¿¹ input string Á¶Â÷ ³ª¿ÀÁö ¾Ê½À´Ï´Ù.
ÀÌ°ÍÀ» ÇØ°áÇÏ·Á¸é ¾î¶»°Ô ÇØ¾ß Çϳª¿ä?