yogesh
yogesh

Reputation: 1

Unix: Delete File code giving some process

I have coded java code to delete the file from the particular path. We are able to see the process running using the below command and we find only one entry.

root@ad4d # ps -ef | grep Del

root 27896 27895   0   Jun 24 pts/5       0:49 java -jar /oracle/php/online/jars/dist/DelFile.jar

But when the Administrator checks the process which is running from the command below we can see many child threads and parent thread process below

 root@almt4d # ps -aAdeflcjLPyZ | grep Del

 S   global    root 27896 27895 26891 26891     1   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891     2   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891     3   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891     4   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891     5   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891     6   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891     7   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891     8   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891     9   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    10   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    11   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    12   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    13   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    14   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    15   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    16   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    17   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    18   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    19   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    20   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    21   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    22   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    23   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    24   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    25   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    26   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    27   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    28   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    29   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    30   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    31   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    32   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    33   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    34   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    35   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    36   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    37   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    38   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    39   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    40   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    41   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    42   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    43   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    44   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    45   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    46   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    47   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    48   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    49   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    50   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    51   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    52   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    53   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    54   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    55   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    56   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    57   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    58   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    59   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    60   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    61   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    62   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    63   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    64   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    65   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    66   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    67   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    68   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    69   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    70   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    71   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    72   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    73   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    74   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    75   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    76   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    77   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    78   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    79   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    80   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    81   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    82   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    83   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    84   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    85   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    86   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    87   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    88   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:04 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    89   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    90   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    91   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    92   -    96   TS  58 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    93   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    94   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    95   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:45 java -jar /oracle/php/online/jars/d
 S   global    root 27896 27895 26891 26891    96   -    96   TS  59 37144 116392        ?   Jun 24 pts/5       0:00 java -jar /oracle/php/online/jars/d

Can anyone please explain from where these kind of child and parent thread process started executing. I have executed only one DelFile.java which has only one thread Is there anyway to control the child threads which are visible to the Administrator using below command

root@almt4d # ps -aAdeflcjLPyZ | grep Del 

DelFile.java

package DelFile;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.SimpleLayout;
public class DelFile extends Thread{
     static Logger log =Logger.getLogger(DelFile.class);
     FileAppender app = null;
     public DelFile()throws IOException{
         app = new FileAppender(new SimpleLayout(), "/oracle/php/online/jars/dist/del_file.log");

     }
     public void logSet(){
        app.setLayout(new PatternLayout(("%d{yyyy-MM-dd HH:mm:ss}  %-5.5p  [%t] %m%n")));
        log.addAppender(app);

    }
     boolean flage=true;
public void run(){

    while(flage){
         final String str="xls";
         String add="/oracle/php/online/jars/dist/";

         String[] paths;
         File f = null;

         try{     
         f = new File(add);
         paths=f.list();
         for(String path:paths)
         {  

            String temp="";
            String temp1="";
            int count=0;

                for(int i=path.length()-1;i>=0;i--){
                     if(path.charAt(i)!='.'){
                        count++;
                         temp+=path.charAt(i);//pmbs                                             
                    }else{ 
                    for(int j=temp.length()-1;j>=0;j--){
                        temp1+=temp.charAt(j);
                        }
                        if(str.length()==count){
                        break;
                        }
                     }
                }
                if(str.equals(temp1)){
                        long time= new File(add+path).lastModified();
                        long utime=time+600000l;
                        while(utime>System.currentTimeMillis()){
                           Thread.sleep(601000);
                        }
                           logSet();
                           log.info(path +"  :  File is deleted");
                           new File(add+path).delete();
                }                 
         }
        }catch(NullPointerException np){

            try{
                Thread.sleep(600000);
            }catch(InterruptedException ip) {}           

        }catch(InterruptedException ie){
        }
    }
}
public static void main(String[] args)throws IOException{
           DelFile r=new DelFile();
           r.start();  
            }
}

Upvotes: 0

Views: 59

Answers (1)

laune
laune

Reputation: 31300

boolean flage=true;
public void run(){
    while(flage){
         // flage not referenced below, no break, no return
         ...
    }

This is called an endless loop. It causes the thread to run for ever, which explains the many entries seen by ps.

Later

The LWPs (or threads) you see are JVM internal threads - not threads created by your program. I thought you were worried why they'd remain in the machine, apparently for ever, which is indeed due to the endless loop: the program doesn't terminate even after all files are gone.

Upvotes: 1

Related Questions