Process.waitfor seems to wait indefinately

Hello I'm running the folowing code from Java:
Runtime run = Runtime.getRuntime();
Process proc = run.exec(cmd);
proc.waitFor();
I've used this piece of code before in other programs and never had any problems with it.
Now, however, the program hangs when it reaches the proc.waitfor line. So it seems my programm is never notified that the external command I'm executing has finished.
DOes anyone have any experience with this sort of problem?
Mark

Ok, I read it and most if not all I considered already.
The strange thing is, I'm doing a content conversion via FFMpeg followed by flvtool2 to add header info to my flash files.
For small files all is well, and the program runs without problems. But when I try to convert a large file, which results in a large (aprox. 10Mb) flash video, the application hangs when I run the external program flvtool2. This only happens when processing large flash files though. With small flash files, there's no problem.
Mark

Similar Messages

  • Time duration for Process.waitFor() to wait.

    Can we specify the time duration for the Process.waitFor() after which it resumes?
              Runtime rt=Runtime.getRuntime();
              Process ps=rt.exec("some command");
              ps.waitFor();
    Like here if rt.exec() is taking a lot of time to execute, the ps should wait for a certain period of time for rt to execute and if rt doesnt complete within the specified time then ps should resume.

    I don't know exactly what you are doing but what about: wait(long timeout);

  • Process.getInputStream() and process.waitfor() block in web application

    Hi folks,
    i am really stuck with a problem which drives me mad.....
    What i want:
    I want to call the microsoft tool "handle" (see http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/Handle.mspx) from within my web-application.
    Handle is used to assure that no other process accesses a file i want to read in.
    A simple test-main does the job perfectly:
    public class TestIt {
       public static void main(String[] args){
          String pathToFileHandleTool = "C:\\tmp\\Handle\\handle.exe";
          String pathToFile = "C:\\tmp\\foo.txt";
          String expectedFileHandleSuccessOutput = "(.*)No matching handles found(.*)";
          System.out.println("pathToFileHandleTool:" + pathToFileHandleTool);
          System.out.println("pathToFile: " + pathToFile);
          System.out.println("expectedFileHandleSuccessOutput: " + expectedFileHandleSuccessOutput);
          ProcessBuilder builder = null;
          // check for os
          if(System.getProperty("os.name").matches("(.*)Windows(.*)")) {
             System.out.println("we are on windows..");
          } else {
             System.out.println("we are on linux..");
          builder = new ProcessBuilder( pathToFileHandleTool, pathToFile);
          Process process = null;
          String commandOutput = "";
          String line = null;
          BufferedReader bufferedReader = null;
          try {
             process = builder.start();
             // read command output
             bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
              while((line = bufferedReader.readLine()) != null) {
                 commandOutput += line;
              System.out.println("commandoutput: " + commandOutput);
             // wait till process has finished
             process.waitFor();
          } catch (IOException e) {
             System.out.println(e.getMessage());
             e.printStackTrace();
          }  catch (InterruptedException e) {
             System.out.println(e.getMessage());
             e.printStackTrace();      }
          // check output to assure that no process uses file
          if(commandOutput.matches(expectedFileHandleSuccessOutput))
             System.out.println("no other processes accesses file!");
          else
             System.out.println("one or more other processes access file!");
    } So, as you see, a simple handle call looks like
    handle foo.txtand the output - if no other process accesses the file - is:
    Handle v3.2Copyright (C) 1997-2006 Mark RussinovichSysinternals - www.sysinternals.com
    No matching handles found.
    no other processes accesses file!(Wether the file exists or not doesnt matter to the program)
    If some processes access the file the output looks like this:
    commandoutput: Handle v3.2Copyright (C) 1997-2006 Mark RussinovichSysinternals - www.sysinternals.com
    WinSCP3.exe        pid: 1108    1AC: C:\tmp\openSUSE-10.2-GM-i386-CD3.iso.filepart
    one or more other processes access file!So far, so good.........but now ->
    The problem:
    If i know use the __exact__ same code (even the paths etc. hardcoded for debugging purposes) within my Servlet-Webapplication, it hangs here:
    while((line = bufferedReader.readLine()) != null) {if i comment that part out the application hangs at:
    process.waitFor();I am absolutely clueless what to do about this....
    Has anybody an idea what causes this behaviour and how i can circumvent it?
    Is this a windows problem?
    Any help will be greatly appreciated.....
    System information:
    - OS: Windows 2000 Server
    - Java 1.5
    - Tomcat 5.5
    More information / What i tried:
    - No exception / error is thrown, the application simply hangs. Adding
    builder.redirectErrorStream(true);had no effect on my logs.
    - Tried other readers as well, no effect.
    - replaced
    while((line = bufferedReader.readLine()) != null)with
    int iChar = 0;
                  while((iChar = bufferedReader.read()) != -1) {No difference, now the application hangs at read() instead of readline()
    - tried to call handle via
    runtime = Runtime.getRuntime();               
    Process p = runtime.exec("C:\\tmp\\Handle\\handle C:\\tmp\\foo.txt");and
    Process process = runtime.exec( "cmd", "/c","C:\\tmp\\Handle\\handle.exe C:\\tmp\\foo.txt");No difference.
    - i thought that maybe for security reasons tomcat wont execute external programs, but a "nslookup www.google.de" within the application is executed
    - The file permissions on handle.exe seem to be correct. The user under which tomcat runs is NT-AUTORIT-T/SYSTEM. If i take a look at handle.exe permission i notice that user "SYSTEM" has full access to the file
    - I dont start tomcat with the "-security" option
    - Confusingly enough, the same code works under linux with "lsof", so this does not seem to be a tomcat problem at all
    Thx for any help!

    Hi,
    thx for the links, unfortanutely nothing worked........
    What i tried:
    1. Reading input and errorstream separately via a thread class called streamgobbler(from the link):
              String pathToFileHandleTool = "C:\\tmp\\Handle\\handle.exe";
              String pathToFile = "C:\\tmp\\foo.txt";
              String expectedFileHandleSuccessOutput = "(.*)No matching handles found(.*)";
              logger.debug("pathToFileHandleTool: " + pathToFileHandleTool);
              logger.debug("pathToFile: " + pathToFile);
              logger.debug("expectedFileHandleSuccessOutput: " + expectedFileHandleSuccessOutput);
              ProcessBuilder builder = new ProcessBuilder( pathToFileHandleTool, pathToFile);
              String commandOutput = "";
              try {
                   logger.debug("trying to start builder....");
                   Process process = builder.start();
                   logger.debug("builder started!");
                   logger.debug("trying to initialize error stream gobbler....");
                   StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "ERROR");
                   logger.debug("error stream gobbler initialized!");
                   logger.debug("trying to initialize output stream gobbler....");
                   StreamGobbler outputGobbler = new StreamGobbler(process.getInputStream(), "OUTPUT");
                   logger.debug("output stream gobbler initialized!");
                   logger.debug("trying to start error stream gobbler....");
                   errorGobbler.start();
                   logger.debug("error stream gobbler started!");
                   logger.debug("trying to start output stream gobbler....");
                   outputGobbler.start();
                   logger.debug("output stream gobbler started!");
                   // wait till process has finished
                   logger.debug("waiting for process to exit....");
                   int exitVal = process.waitFor();
                   logger.debug("process terminated!");
                   logger.debug("exit value: " + exitVal);
              } catch (IOException e) {
                   logger.debug(e.getMessage());
                   logger.debug(e);
              }  catch (InterruptedException e) {
                   logger.debug(e.getMessage());
                   logger.debug(e);
         class StreamGobbler extends Thread {
              InputStream is;
             String type;
             StreamGobbler(InputStream is, String type) {
                 this.is = is;
                 this.type = type;
             public void run() {
                  try {
                     InputStreamReader isr = new InputStreamReader(is);
                     BufferedReader br = new BufferedReader(isr);
                     String line=null;
                     logger.debug("trying to call readline() .....");
                     while ( (line = br.readline()) != null)
                         logger.debug(type + ">" + line);   
                 } catch (IOException ioe) {
                         ioe.printStackTrace(); 
         }Again, the application hangs at the "readline()":
    pathToFileHandleTool: C:\tmp\Handle\handle.exe
    pathToFile: C:\tmp\openSUSE-10.2-GM-i386-CD3.iso
    expectedFileHandleSuccessOutput: (.*)No matching handles found(.*)
    trying to start builder....
    builder started!
    trying to initialize error stream gobbler....
    error stream gobbler initialized!
    trying to initialize output stream gobbler....
    output stream gobbler initialized!
    trying to start error stream gobbler....
    error stream gobbler started!
    trying to start output stream gobbler....
    output stream gobbler started!
    waiting for process to exit....
    trying to call readline().....
    trying to call readline().....Then i tried read(), i.e.:
         class StreamGobbler extends Thread {
              InputStream is;
             String type;
             StreamGobbler(InputStream is, String type) {
                 this.is = is;
                 this.type = type;
             public void run() {
                  try {
                     InputStreamReader isr = new InputStreamReader(is);
                     BufferedReader br = new BufferedReader(isr);
                     logger.debug("trying to read in single chars.....");
                     int iChar = 0;
                     while ( (iChar = br.read()) != -1)
                         logger.debug(type + ">" + iChar);   
                 } catch (IOException ioe) {
                         ioe.printStackTrace(); 
         }Same result, application hangs at read()......
    Then i tried a dirty workaround, but even that didnt suceed:
    I wrote a simple batch-file:
    C:\tmp\Handle\handle.exe C:\tmp\foo.txt > C:\tmp\handle_output.txtand tried to start it within my application with a simple:
    Runtime.getRuntime().exec("C:\\tmp\\call_handle.bat");No process, no reading any streams, no whatever.....
    Result:
    A file C:\tmp\handle_output.txt exists but it is empty..........
    Any more ideas?

  • StuckThead on Process.waitfor

    Version Weblogic 9.2.1
    OS: Solaris 10
    We are encountering StuckThread when we are execing out to a process from within a MessageDrivenBean. The error seems to occur after high volume of JMS messages to the queue (around 3000 in a hour time frame). The stack trace of the Stuck Thread indicates the Process.waitFor is the reason for the stuck thread.
    The type of processes that we are execing out too are:
    - UNIX command "file" to determine file type
    - McAfee virus scanning
    It then appears that the JMS server restarts but the messages pending on the JMS queue are lost. We are using non-persistant queues and are required for other reasons. Using persistant queues is not an option.
    Any information on how to resolve is greatly appreciated.
    Below is the snippet of code.
    public int execProcess(String args[])
         int lProcRetVal = -1;
         if (args.length < 1)
         myLogger.error("No Command to Be executed");
         return lProcRetVal;
         try
         Runtime rt = Runtime.getRuntime();
         Process proc = rt.exec(args);
         // Gets an inputstream to read error messages from
         // if there are any error message,
         StreamGobbler errorGobbler =
    new StreamGobbler(proc.getErrorStream(), "ERROR");
         // Gets an inputstream to read stdout messages from
         // the process if there is any output.
         StreamGobbler outputGobbler =
    new StreamGobbler(proc.getInputStream(), "OUTPUT");
         // NOTE: To passes data to the process use the
         // processes method proc.getOutputStream
         // Which returns an Output Stream to write to.
         // kick them off
         errorGobbler.start();
         outputGobbler.start();
         // IF the process succeeded then returns 0 any error???
         lProcRetVal = proc.waitFor();
         } catch (IOException ioe)
                   SevereSystemException se = new SevereSystemException(
                             ErrorCodes.PROCESS_EXEC_PROCESS,
                             ErrorCodes.PROCESS_EXEC_ERROR, ioe);
                   throw se;
         catch (InterruptedException ie) {
                   WarningSystemException wse = new WarningSystemException(
                             ErrorCodes.PROCESS_EXEC_PROCESS,
                             ErrorCodes.PROCESS_EXEC_ERROR, ie);
                   wse.createLog();
         return lProcRetVal;
    }

    You probably need to consume the output of your script before waiting. The script has filled its output buffer and is waiting for your app to empty it. The app is waiting for the script to finish. This article discusses this and other problems using exec():
    http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
    HTH
    Graeme

  • Process.waitFor returns early

    I'm launching a process which I then wait for with Process.waitFor(). I have the necessary IO reader threads in place to prevent buffer overflows.
    However, the waitFor is returning early. I can see that after returning the process is still running in the Windows task manager.
    What could be happening here? I'm using Eclipse under Windows XP Pro - which seems to run a special JVM javaw.exe.

    Thanks for the reply. Seems to be my mistake, the subprocess I'm calling, launches another background process over the same executable then returns - so it looks like the first process is still running, when infact it is not.

  • Problem in "Process.waitFor()" in multithreaded application (UNIX OS)

    Hello all
    This is very urgent for me.
    I am using the follwing code to invoke the child process which calls a shell script in the unix OS,and it is going fine when runs in single thread. But if i run it as the multhreaded appln, anyone of the thread hangs in the 'Process.waitfor()' call. But sometimes all the threads are returning successfully. I am calling this code from the one or more threads. This is tested in the java1.2 and 1.3. so can u suggest me how to change the code or any way to fix up the problem.
    // the code starts
    String s[] = new String[3];
    s[0] = "/bin/sh";
    s[1] = "-c";
    s[2] = "encrypt.sh"; //some .sh filename to do the task
    Runtime runtime = Runtime.getRuntime();
    Process proc;
    proc = runtime.exec(s);
    InputStream is = proc.getInputStream();
    byte buf[] = new byte[256];
    int len;
    while( (len=is.read(buf)) != -1) {
    String s1 = new String(buf,0,len);
    System.out.println(s1);
    InputStream es = proc.getErrorStream();
    buf = new byte[256];
    while( (len=es.read(buf)) != -1) {
    String s1 = new String(buf,0,len);
    System.out.println("Error Stream : " + s1);
    // place where it hang
    retValue = proc.waitFor();
    //code ends
    i am handling the errorstream and output stream and not getting any error stream output and not printing any messages in the child process. When i synchronize the whole function, it went fine, but spoils the speed performance. I tried all the option but i could not solve the problem.
    thanks

    You're first reading all of the standard output, then reading all of the standard error. What if the process generates too much output to standard error and hangs while it waits for your program to read it? I would suggest having two threads, one which reads the standard output and the other which reads standard error.

  • Process Notification and Notification Wait activity - External Relationship

    Hi,
    I have a query relating to the Process Notification and Notification Wait activity.
    In my Process Creation after finishing 2 interactive avtivities I need to send notification or inform the instance
    waiting in a Notification Wait activity.
    For this Im using ALBPM Predefined Process Notification activity to send Notification.
    Im defining instance variable and mapping it as argument to Notification Wait activity.
    I have set the type of event to wait for as External relationship.And defined a correlarion
    at Notification Wait activity by setting initiate property as Yes and defined association with
    argument mapping.And selected the same correlation from the Process Notification activity.
    When im trying to execute the same always im getting the exceeption as Instance was not found for notification.
    Please help me to resolve this issue.
    Thank You,
    ~Kavitha

    Hi Matthias,
    What you have experienced is exactly how it works, the notification is processed after the screenflow is finished.
    I tested a lot some time ago and also really happy that worked well.
    Regards

  • WaitFor() Does not wait for Process

    Experts,
    I have a Process p for a Microsoft Outlook Process OUTLOOK.EXE
    Now if there is an Email file (xyz.msg) opened as this process along with my MS Outlook running then,
    p.waitFor();
    // Where p = runner.exec(shell_command_to_open_msg_file);
    does not wait and move further.
    But if the MS Outlook is not running, then it waits till I manually close the Email msg file.
    How can I handle/overcome the former situation?
    Thanks in advance

    moondra_JavaDev wrote:
    How can I handle/overcome the former situation?
    You can't in java.
    What happens is that when outlook is already running then the new attempt to run does the following
    1. A application starts
    2. It determines that outlook is already running.
    3. It focuses that instance
    4. It exits.
    The last step is what you see. You do not have access to the one that is running because it isn't the same application.
    I would suggest examining the business requirements that are driving this. If you allow the user to already have outlook open then it seems rather odd that you are insisting that they exit it anyways. Instead you can pop a dialog and require that they tell you when they are done. Or don't use outlook and use java mail instead.

  • WaitFor() doesn't wait for my process to complete?

    Hi all,
    I'm launching a browser from my java program to display a text file, and when this is done i want to delete that text file from the server, so i tell the process that launches the browser to wait, then i make a call to delete the file from the server
    my code goes something like this:
    Process browserProc = Runtime.getRuntime().exec(<command to launch browser>);
    browserProc.waitFor();
    //here i call an external process to delete the file
    this works sometimes, but others the file is deleted before the browser gets to display it. what am i doing wrong?! if this is due to subprocesses being spawned is there any solution? any help is greatly appreciated!
    thanks and regards,
    emh3

    This is from some legacy code..urlToPointTo is the url
    of my file - does this fall into that category?Apparently it does. And it should, too. I can see the designers thinking "Should this command wait until the GUI is closed? No. Of course not. Obviously the user of this command only wants to launch the GUI. Why on earth would they want to wait until it is closed?"
    When you are having so much trouble doing something so simple, that's a good indication that you're doing something that isn't a good idea. Can you explain why you need to delete the remote file after it's displayed? Maybe that was your idea of how to implement some other requirement.

  • How can I make Process.waitFor() just wait for a limited period?

    For example,
    Process prc=Runtime.getRuntime().exec(cmd);
    prc.waitFor(some seconds);
    if(prc.exitValue() != 0){
    // the subprocess hadn't terminated normally in some seconds,
    // so just forcilly kill it.
    prc.destroy();
    Is there any way to do this?

    waitFor does not have a timeout parameter, but you can start a Timer or thread to interrupt your waiting thread when the timeout expires. Then, waitFor will end, throwing an InterruptedException that you can catch.

  • Process.waitFor() causes program to hang!

    I've successfully created a Process and run it using Runtime's exec(String path), and the kinds of processes I've successfully run have included Winzip, a WS_FTP Pro script, and a regular .bat file. I've also successfully called waitFor() on these processes, but in this particular case I'm calling a program that takes a file I give it as a parameter and merges its data into a database. I've been doing this procedure for a while (either from a command line or in a .bat file), but now I need to call it from my Java code. Preferably I'd like to waitFor() the process each time because I need to make sure all the files are merged in chronological order. My current test case only uses ONE file, but in reality there will be several. With one file, I can run the program and it appears to run fine (and it runs fast--like maybe a second or two at most), but whenever I call the following line it hangs indefinitely (I've never seen it terminate, even after several minutes):
    focusProcess.waitFor();
    When I just execute that program by itself by calling a .bat file with a hardcoded filename, I get standard output back from the program I'm calling. I'd like to see this output when I run my Java program and it appears to run fine, because I have no way if it IS running correctly! So, I added the following:
    BufferedInputStream bis = new BufferedInputStream(focusProcess.getInputStream());
    StringBuffer sb = new StringBuffer();
    int c;
    while((c=bis.read()) != -1) {   
    sb.append(c);
    bis.close();
    I'm not sure if this is the right way to monitor that InputStream that I get from the process, and even if that InputStream is going to give me the standard output from that the process normally writes to the terminal. All I do know is that again, the program seems to hang indefinitely, and I guess it has to do with the fact that maybe this process isn't notifying me that it's terminated, and so I'm still waiting for the rest of that InputStream. And yes, I HAVE tried both of these situations together AND separately (so I know that both pieces of code cause the program to hang).
    Any ideas would be much appreciated!

    Paying attention to the standard output from the running process is good for debugging (and reporting program progression, if necessary) but probably doesn't contribute to the problem you are seeing. The standard input to the process, however, is a different story. If the process you have Runtime.exec'd is waiting for something on stdin, then the OS will block on behalf of the program that is blocking for input and never terminate!
    Try running the exec'd command from the command-line and see if it needs any input (i.e. you have to press a key, or enter, or send EOF) for the program to complete. If this is the case then your Java program must supply that process with the appropriate input or it will just hang.
    As for printing the output from a process... here's a quick proof of concept:
    import java.io.*;
    public class Exec {
        public static void main(String args[]) throws Exception {
            // Make sure we've got something to exec.
            if ( args == null || args.length < 1 ) {
                System.out.println("Usage: java Exec COMMAND [ARGS...]");
                System.exit(1);
            // Run the process and print the output.
            Process p = Runtime.getRuntime().exec(args);
            BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line;
            while ( (line=in.readLine()) != null ) {
                System.out.println("EXEC: "+line);
    }Hope this helps!
    -mike

  • WaitFor() does not wait!

    Hi, I have a small applet that launches a MS Word app and opens a document. In the code I use the waitFor() process method to wait until the MS Word app closes so I can do some processing to the MS Word file.
    The code looks like this:
    public void openMSWDocument() throws IOException
    Process p = Runtime.getRuntime().exec("cmd /c start " + outfilePath);
    try
    p.waitFor();
    System.out.println("process complete");
    catch (InterruptedException ie)
    System.out.println("Process interrupted: " + ie.toString());
    for some reason, the process does not wait. Is there something that I am not doing that I should be doing?

    Never mind. I found the problem.
    It seems that using 'start' in my command line will cause the waitFor() not to work.
    The process p is dependant on the 'start' process to complete, so when 'start' terminates (after it launches my windows app) then so does the process p. Hence, waitFor() = 0.
    so i used the command line cmd = appFilePath + " " + fileNamePath;
    Its works!

  • Process.waitFor doesn't waitFor process to terminated

    I have searched this website and found may people have this problem, but no one has answer the question. Does that mean there is no way around this?
    This is from the API:
    The Runtime.exec methods may not work well for special processes on certain native platforms.
    Is this everyones problem?
    This is the code I'm using:
    String[] callAndArgs = {"open", fileLoc};
    proc = rt.exec(callAndArgs2);
    proc.waitFor();This doesn't waitFor the open file to be closed. How can I waitFor for the open file to be closed? Is there away around this? Any input would be greatly appreciated. Thank you.

    Yes - you are kind of out of luck. The OS is spawning a new process to open that document, so the thread that you initiate with exec is ending, causing control to return to the Java app's .waitFor call.
    Many OSes do have the ability to shell out a command and actually wait for the process to end, but you'd have to invoke a native (JNI) method to do this. For example, I know you can do this with Windows by obtaining the process ID from the ShellExecute command and then performaing a wait on the process ID.
    At this point, though, you are out of the realm of Java programming.
    - K

  • WindowServer process stuck in uniterruptible wait

    This is a continuation of
    http://discussions.apple.com/thread.jspa?messageID=10330558
    This continues to happen on a fairly regular basis. I can't make it happen at will, but it seems to happen anywhere from every couple days to every couple weeks. It's happening now:
    $ ps ax|grep WindowServer
    75 ?? Us 38:12.86 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphic s.framework/Resources/WindowServer -daemon
    I am getting that via ssh session as the OSX UI is obviously frozen (The "Us" in the ps output above is the process state. The "U" is saying the process is stuck in uninterruptible wait, meaning its frozen until whatever it's waiting for comes back. I cant kill it even with -9). It would be cool if there were some sort of troubleshooting steps I could take to gather data to try to pinpoint why this is happening. Any suggestions?

    Exactly the same thing happens to quite frequently since update to SL (10.6.1), it happend from time to time even on Leopard but much less frequently. I can still login to the machine over ssh, three processes are usually marked as stuck- WinowServer, loginwindow, mds. I can restart the machine more gracefully using sudo -r now instead of holding the on/off button. This is very annoying when my machine freezes at least once every day I use it. I suspect this may be related to HW issues with overheating CPU and GPU after SL upgrade my machine runs significantly hotter than with 10.5.x (5-10 degrees) I red that many other people experienced increased temperatures after upgrade. I'm looking for some help with this issue, it is hard to say if this is HW or SW problem. Unfortunately my mac extended warranty expired couple moths ago so I doubt that "Genius" visit at apple store would do any help. They would probably just advice to make clean install which I wanted to avoid this time. I did little bit of research on Google but I did not found any decent advice how to increase stability of the system on SL. It seems that many people experienced the same issue with various models and OSX versions (different GPUs) before so it looks more like SW drivers issue. Can anyone at Apple address this apparently relatively frequent issue?
    Message was edited by: quirky
    BTW there is way too many people having similar problems
    http://discussions.apple.com/thread.jspa?messageID=10036049&#10036049

  • Why does File Explorer Seem to Wait for End-to-End Confirmation?

    For quite a few versions now, when copying large blocks of files from place to place it seems like Explorer adds an arbitrary delay or maybe waits for confirmation internally that every file has been actually written to the disk before continuing.
    On a modern computer with plenty of RAM for cache and a massively powerful SSD-based I/O system (capable of sustaining gigabytes per second of throughput),
    why should we ever wait for a copy of a few hundred megabytes of files?  Theoretically it should complete in a second or two. 
    In fact, back on XP one could observe exactly the behavior I'm describing - file transfers - especially on hard disk but even over the network - would proceed at a very breakneck pace.
    Yet it's not uncommon to see miniscule transfer speeds while copying groups of files that even the oldest, cheapest hard drive could sustain...
    What's the setting to have Explorer stop waiting and just get on with the copy, filling the cache with the data to be written later?  Some of us don't want to wait that extra minute to get the job done.  I know whomever programmed the cutesy
    little graph wants to make sure we all see it, but...
    -Noel
    Detailed how-to in my eBooks:  
    Configure The Windows 7 "To Work" Options
    Configure The Windows 8 "To Work" Options

    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
    *Do NOT click the Reset button on the Safe mode start window or otherwise make changes.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    You can check for problems with the places.sqlite database file in the Firefox Profile Folder.
    *http://kb.mozillazine.org/Bookmarks_history_and_toolbar_buttons_not_working_-_Firefox
    *https://support.mozilla.org/kb/Bookmarks+not+saved#w_fix-the-bookmarks-file
    You can check for problems with the sessionstore.js and sessionstore.bak files in the Firefox Profile Folder that store session data.
    Delete the sessionstore.js file and possible sessionstore-##.js files with a number and sessionstore.bak in the Firefox Profile Folder.
    *Help > Troubleshooting Information > Profile Directory: Open Containing Folder
    *http://kb.mozillazine.org/Profile_folder_-_Firefox
    Deleting sessionstore.js will cause App Tabs and Tab Groups and open and closed (undo) tabs to get lost, so you will have to create them again (make a note or bookmark them).
    *http://kb.mozillazine.org/Multiple_profile_files_created
    Create a new profile as a test to check if your current profile is causing the problems.
    See "Creating a profile":
    *https://support.mozilla.org/kb/profile-manager-create-and-remove-firefox-profiles
    *http://kb.mozillazine.org/Standard_diagnostic_-_Firefox#Profile_issues
    If the new profile works then you can transfer some files from an existing profile to the new profile, but be careful not to copy corrupted files.
    *http://kb.mozillazine.org/Transferring_data_to_a_new_profile_-_Firefox

Maybe you are looking for

  • My movies no longer show up in the clouds

    I use to be able to stream all my movies from my itunes without downloading them. I went to my itunes and they were all gone. Does anyone know how to get them back? I hate taking up spacee on my computer and I own so many movies

  • Payment Release Workflow

    Hi Folks,          We are working on Payment Release workflow in AR module.          Once the invoice is posted, workflow is able to block the payment, but not sending mails to the agent for approval.          For testing, i have entered a dummy user

  • TO IGNORE A HEADER IN A FLAT FILE (SENDER) XI

    Developing a solution XI in file-jdbc cenario and the file is a flat file with header line  and various detail lines. I need to write  the jdbc table ignoring the header line of the flat file. How can We do this? Someone can help me? Thanks and regar

  • Only LiveCycle Data Services 2.6 and higher are supported.???

    not sure if this is the right forum but I have flash builder with sdk 4.1 and I recently installed blazeDS turnkey and tried to set uo a new flex project with a J2EE server type. However I get this message and am unsure what to do. Only LiveCycle Dat

  • Determine file size as saved on disk

    When i open a file in PSCS5 I want to know the size of the file on disk without going to finder. The "Document size" shown at bottom of image frame is often, almost always, significantly different from that on disk. I am certain i am missing somethin