How to check the progress of the dd process

Check the progress of the dd process.


Ubuntu and recent problems related to PHP

Recently I run into small problems related to PHP.

Problem A –

The first one was a PHP warning:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/' - /usr/lib/php5/20090626/ cannot open shared object file: No such file or directory in Unknown on line 0

PHP tried to load from /etc/php5/conf.d/sqlite.ini (php5-sqlite package).

$ dpkg -L php5-sqlite

As suspected there was file.

$ ls /usr/lib/php5/20090626/

Delete the /etc/php5/conf.d/sqlite.ini file to solve this problem.

$ sudo rm /etc/php5/conf.d/sqlite.ini

Problem B – fuser process

The second problem was more serious, thousands of fuser zombie processes and high CPU usage.

Hopefully, there is a bug report #876387, so for a solution look at the fourth comment. Don’t forget to identify and kill already running find processes.

In short, this problem can be quickly recognized by thousands of fuser zombie processes:

$ ps ax | awk '{if ($3=="Z" && $5~/fuser/) s++}; END {print s}'

It was created by php cron job /etc/cron.d/php5 (php5-common package):

$ dpkg -S /etc/cron.d/php5
php5-common: /etc/cron.d/php5

Source of this problem in /etc/cron.d/php5 file:

09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete

To solve it replace this line with one given below:

09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete

Don’t forget to kill running find processes:

# ps ax | grep "find /var/lib/php" | grep fuser | awk '{print $1}' | xargs kill
SecOps SysOps

How to check established TCP connections

Display established TCP connections inside the terminal.


ODIN – Free Disk Imager

From time to time I need to backup/restore OS on the CF card using Windows machine.


How to do some work in each active jail (FreeBSD7)

Execute a set of commands inside each active jail.


Scripting SPS switches

Managing SPS switches could be real fun if you use expect to automate such tasks.


How to get rid of spaces in filenames

Get rid of spaces in file/directory names.


Using KDE notification area within a shell script

Using KDE notification area within a shell script gives a lot of useful possibilities as you can easily display feedback from running services, other scripts, log analyzers.