Hi. It seems to me that graceful restart doesn't work in mod_fcgid at all.
My configuration: <IfModule mod_fcgid.c> FcgidProcessTableFile /tmp/fcgidshm_aux7 FcgidIPCDir /tmp/.fcgidsock_aux7 FcgidMinProcessesPerClass 0 FcgidIdleTimeout 300 FcgidIdleScanInterval 1 FcgidProcessLifeTime 150 FcgidErrorScanInterval 150 FcgidFixPathinfo 1 </IfModule> ... <VirtualHost *> <IfModule fcgid_module> FcgidWrapper /full/path/to/wrapper .php FcgidIOTimeout 150 </IfModule> </VirtualHost> I made a simple script to check my guess: $ cat sleep.php <?php sleep (60); echo OK; ?> Checking without Apache restart: $ time wget http://test-aux7/sleep.php --2010-01-12 16:53:08-- http://test-l12-aux7/sleep.php Resolving test-aux7... 111.222.11.22 Connecting to test-aux7|111.222.11.22|:80... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: `sleep.php' [ <=> ] 2 --.-K/s in 0s 2010-01-12 16:54:08 (258 KB/s) - `sleep.php' saved real 1m0.466s user 0m0.000s sys 0m0.004s $ cat sleep.php OK Here is everything ok. Now with graceful restart: time wget http://test-aux7:80/sleep.php --2010-01-12 16:57:15-- http://test-aux7:80/sleep.php Resolving test-aux7... 111.222.11.22 Connecting to test-aux7|111.222.11.22|:80... connected. HTTP request sent, awaiting response... No data received. Retrying. --2010-01-12 16:57:22-- (try: 2) http://test-aux7:80/sleep.php Connecting to test-aux7|111.222.11.22|:80... connected. HTTP request sent, awaiting response... Here what goes in error_log: [Tue Jan 12 16:55:27 2010] [emerg] [client 10.0.2.11] (22)Invalid argument: mod_fcgid: can't lock process table in pid 4172 -- BRGDS. Alexey Vlasov.