我在socketserver端用一个while(true){}来等待获得客户端的请求,如果有请求来到,就启动一个进程去去处理。
那么有什么好的办法去关闭服务端的服务,让他调出循环结束程序呢。
还有我把这个服务端放在服务器上用telnet启动服务,此时关闭telnet在启动一个telnet去连接服务器,怎么再看到服务端程序运行的情况,比如他在屏幕上输出的提示。

解决方案 »

  1.   

    定义一个flag布尔值,在循环体中判断这个值真假,假的话就break或return,
    外部设置这个flag值
      

  2.   

    while(islive){}
    发送一个信息过来,isLive=false;就可以了
      

  3.   

    我的做法是监听端口,然后通过监听到的数据来判断,如果命令为停止监听,则close这个socket,然后退出程序,或者重新启动程序。
    可以使用nohup 命令后台运行,输出一个文本里,如:java aa >> /home/temp/log.txt下次登陆可以看log.txt文件