[PATCH/cygwin] Fix cygwin specific Makefile and a bug in the ssh-host-config script
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Sat Nov 8 01:46:42 EST 2008
On Fri 2008-11-07 05:54:58 -0500, Corinna Vinschen wrote:
> diff -u -p -r1.22 ssh-host-config
> --- contrib/cygwin/ssh-host-config 14 Jul 2008 02:12:54 -0000 1.22
> +++ contrib/cygwin/ssh-host-config 7 Nov 2008 10:49:30 -0000
> @@ -456,7 +456,7 @@ done
>
> # Check for running ssh/sshd processes first. Refuse to do anything while
> # some ssh processes are still running
> -if ps -ef | grep -v grep | grep -q ssh
> +if ps -ef | grep -v grep | grep -q 'sshd*$'
> then
> echo
> csih_error "There are still ssh processes running. Please shut them down first."
Sorry: i should have offered a solution to the grep -v grep thing
instead of just pointing out the problem. One way to avoid grep
matching itself when scanning the process table is to use a
non-self-matching regex.
So for example, instead of doing:
ps -ef | grep -q 'sshd'
You could do:
ps -ef | grep -q '[s]shd'
which means the same thing from a regex perspective, but does not
self-match:
[0 dkg at squeak ~]$ echo 'grep -q sshd' | grep 'sshd'
grep -q sshd
[0 dkg at squeak ~]$ echo 'grep -q [s]shd' | grep '[s]shd'
[1 dkg at squeak ~]$
Most non-literals like $ (meaning end of line) are sufficient for this
also, since
grep -q sshd$
does not self-match:
[0 dkg at squeak ~]$ echo 'grep -q sshd$' | grep -q sshd$
[1 dkg at squeak ~]$
hth,
--dkg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 826 bytes
Desc: not available
Url : http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20081107/dc5f6b98/attachment.bin
More information about the openssh-unix-dev
mailing list