bartman's blog

running really nice

bartman

Everyone that uses the shell eventually learns about nice – the tool that runs a process at a reduced priority. Well, there is also ionice that allows you to tweak processes from taking over all disk IO.

I added a vnice() function into my ZSH config so I can run or mark processes for lower priority for both nice and ionice levels.

The vnice function can be ran in two modes.

Here is the actual code that you can add to your zshrc:

    vnice() {
            if [[ -z "$1" ]] ; then
                    echo "vnice [ <pid>... | <program> ]" >&2
                    return 1
            elif [[ "$1" =~ ^[0-9]+$ ]] ; then
                    while [[ "$1" =~ ^[0-9]+$ ]] ; do
                            ionice -n7 -p $1
                            renice 20 $1
                            shift
                    done
            else
                    ionice -n7 nice -n20 $@
            fi
    }

The above might work under bash, but it has not been tested

Tags: