I've stayed away because I could not get past the dsh -w
AIX dsh and linux dash (sometimes dsh) do not have a -w option. Per manpages for both. What does that do -- dsh -w ?
So I'm not sure what is going on. Plus the whole code design concept seems to me to be based on 'one-liner' thinking. Which is cool but not always maintainable as you are finding out.
It looks like you are trying to kill processes with files open - somewhere special. What OS and shell are you using?
I am using AIX. Normally dsh runs a command against all of your servers in your server list. When you add the -w option to dsh it allows you to select which server you want to run your command on. In my case I want to run my command on server1. I could run my command without the -w option but it would be harder to debug my problem.
I am not very good at using multiple single and double quotes, and escaping. I think that is my issue.
For stuff like this -- In general I usually write a shell script that does what I want. Then I scp a copy to each server; chmod +x the script, then use ssh (similar to dsh) to invoke my script as required on each server. That way I do not get so many single-double quote issues.
on the server.