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



## t1066 (Feb 28, 2012)

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.


```
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


```
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.


----------



## jrm@ (Feb 28, 2012)

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.


----------



## vermaden (Feb 28, 2012)

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:

```
% 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
```


----------

