앗 지송... 제가 뭘 빠뜨렸네요...
ps -ef | grep aaa | awk '{print $2}' | kill -9
라고 해야 하는데...
문제는 ps -ef 해서 출력되는것 하고,
ps -ef를 파이프 연결이나 리다이렉션을 써서 파일로
저장을 했을 때 나오는 게 틀리다는 겁니다.
후자의 경우는 한줄에 표시되는 글자수가 제한이
있는 것 같습니다. 직접해 보시면 아실 거예요...
제가 쓰는 리눅스(파란7.1)에서는
그렇거든요...
저만 그런건지...
답변 감사 드립니다....
[산이]님이 남기신 글:
>[박세원]님이 남기신 글:
>
>>안녀하십니까?
>>
>>여기저기 돌아다니다 이 사이트를 발견하고
질문드립니다.
>>
>>저는 지금 와우리눅스 7.1 파란을 쓰고 있습니다.
>>
>>매일 00:00 시에 어떤 파일(aaa라 가정)을 실행시킬려고
하는데요.
>>
>>즉 어제 00:00시에 띄웠던 실행파일을 kill 시키고, 다시
띄울려구요.
>>
>>그래서 ps -ef | grep aaa | kill -9 를 실행해 보았지만
먹히질
>>
>>않네요.
>>
>>그냥 ps -ef 하면 분명 그 파일이 실행되고 있는데도
말입니다.
>>
>>ps -ef 를 해서 화면상에 디스플레이 하는 것 하고, 이걸
파이프나
>>
>>화일로 저장해서 보면 어떤 길이 이상의 것은 잘려서
나오거든요.
>>
>>그래서 위와 같은 현상이 나오는것 같은데, 해결책이
없을까요?
>
>========================================
>
>kill [-s sigspec | -n signum | -sigspec] [pid | job]...
>or
>kill -l [sigspec]
>
>따라서 당연히
>
>ps -ef | grep aaa | kill -9
>
>이런 명령은 되지 않습니다.
>즉 kill 옵션 다음에 pid 하나 또는 pid 리스트가 나와야
합니다.
>
>ps -ef | grep aaa
>
>이 경우는 pid 만 출력되는 것이 아니라 다른 정보까지
>출력되므로 pid 만 따로 또 뽑아야 합니다.
>
>--------------------
>#!/bin/sh
>
>program='aaa'
>
>pid=`/sbin/pidof $program`
>
>[ X"$pid" != X ] && kill -9 $pid
>
>## ...(이하 생략) ...
>
>exit 0
>--------------------
>
>이와 같은 쉘스크립트를 짜야 합니다.
========================================
|