Conky tips: use texeci instead of exec for long running command

In the last couple of months, sysutils/conky would occasionally hang and only the command
$ "killall -9 conky"
could stop it.

I had finally tracked down the problem to the following lines in my .conkyrc.

Code:
update_interval 2.0
${execi 180 zfs list}

As the command

$ zfs list

will probe all my disks, it may take more than 2 seconds to complete and so make conky hang. Changing the above lines to

Code:
update_interval 2.0
${texeci 180 zfs list}

solved my problem. Now conky no longer hangs even if I put a cdrom into my drive.
 
I've found sysutils/conky will hang for many things. It can also suck memory when diskio information is displayed (thanks again @vermaden). Others have suggested using x11/dzen2 or x11/hs-xmobar (see the related posts by @vermaden and @graudeejs), but unfortunately for *box window manager users, neither x11/dzen2 nor x11/hs-xmobar will run in 'withdrawn' ('swallowed') mode so it doesn't play nice with the slit, whereas sysutils/conky will. I don't know any other way to maximize windows without covering the system status program. There is a tiny program, spacc_dapp.c that is meant to put transparent space in the slit, so then you can tell x11/dzen2/x11/hs-xmobar to display in the same place, but space_dapp.c doesn't run transparent for me and covers up x11/dzen2/x11/hs-xmobar.
 
After many problems with conky and after trying both dzen2 and xmobar (and even conky predecessor torsmo I returned to conky (because of TTF fonts support) with a different approach: I only use ${color} ${exec} ${execi} functions with my custom scripts that return the result immediately, I do not use commands that take longer then 0.5s to execute and return some data. This way conky is stable as rock, does not hang, does not do memory leak.

I currently have these scripts for use with conky, if you want them just let me know:
Code:
% ls -1 scripts/__conky_*
scripts/__conky_cpu.sh
scripts/__conky_io.sh
scripts/__conky_mem.sh
scripts/__conky_mixer_pcm.sh
scripts/__conky_mixer_vol.sh
scripts/__conky_ps.sh
scripts/__conky_temp.sh
scripts/__conky_top.sh
 
Back
Top