Thaiadmin

ถามวิธีการเช็ค process ในcentos

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ถามวิธีการเช็ค process ในcentos
« เมื่อ: 9 มกราคม 2011, 00:21:56 »
คือผมอยากรู้วิธีเขียนสคริป เช็ค process นึงว่า ยังรันอยู่หรือป่าว ถ้ามันไม่ได้รันอยู่ ให้รันใหม่ทันที ใครเขียนเป็นช่วยสอนหน่อยครับ


ขอบคุณครับ

ออฟไลน์ InzecureOne

  • *****
  • 897
  • 16
  • Nibbāna
Re: ถามวิธีการเช็ค process ในcentos
« ตอบกลับ #1 เมื่อ: 9 มกราคม 2011, 11:14:54 »
ลองดู web นี้ครับ

http://mmonit.com/monit/

Monit is a free open source utility for managing and monitoring, processes, files, directories and filesystems on a UNIX system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations.

ออฟไลน์ Keigo

  • *****
  • 1,802
  • 28
  • เพศ: ชาย
  • TH@min Membership
Re: ถามวิธีการเช็ค process ในcentos
« ตอบกลับ #2 เมื่อ: 9 มกราคม 2011, 19:15:08 »
ก็เขียน shell script ง่ายๆก็ได้ครับ
(1) ดู process table หาชื่อ process ที่เราต้องการด้วย ps กับ grep
(2) ตรวจสอบ if condition ถ้าเป็น null ก็สั่ง restart process ตัวนั้นซะ
(3) ตั้ง script ใน cron ทุกๆกี่นาทีก็ว่ากันไป

แต่.. ส่วนตัวผมไม่ได้ใช้ครับ ผมใช้ cfengine บริหารจัดการ file/folder permission, backup & copy, configuration management, monitoring/restarting process, etc ครับ โปรแกรมเล็กเพราะพัฒนาจาก C ไม่ต้องลง ruby env อย่าง pupet หรือ chef
http://www.cfengine.org

ลองใช้ แล้วติดปัญหาสอบถามได้นะครับ  ใช้แล้วอาจจะติดใจอย่างผม O0
<b>When we wake up in the morning, we have two simple choices. Go back to sleep and dream, or wake up and chase those dreams.</b>

Re: ถามวิธีการเช็ค process ในcentos
« ตอบกลับ #3 เมื่อ: 10 มกราคม 2011, 16:44:19 »
#!/bin/bash
ps -ef | grep -v grep | grep ggg_pk
# if not found - equals to 1, start it
if [ $? -eq 1 ]
then
cd /home/2xian/seal\r
./ggg_pk -d\r
else
echo "server running"
fi

แบบนี้ถูกหรือป่าว

ออฟไลน์ Keigo

  • *****
  • 1,802
  • 28
  • เพศ: ชาย
  • TH@min Membership
Re: ถามวิธีการเช็ค process ในcentos
« ตอบกลับ #4 เมื่อ: 10 มกราคม 2011, 17:23:59 »
ถ้าลองรัน script ตอนไม่มี process ggg_pk แล้วผลลัพธ์ มันมี แล้วถ้ามี ggg_pk อยู่แล้ว ได้ msg "server running" ก็น่าจะไม่มีปัญหานะครับ
<b>When we wake up in the morning, we have two simple choices. Go back to sleep and dream, or wake up and chase those dreams.</b>

Re: ถามวิธีการเช็ค process ในcentos
« ตอบกลับ #5 เมื่อ: 10 มกราคม 2011, 17:25:59 »
ตอนนี้มันรันอยู่ ลองเทสก็บอกว่ามันรันอยู่ แต่ปิดไม่ได้ด้วยซิ เลยไม่ได้ทดสอบ เดียวโดนคนด่า ต้องรอช่วงโอกาสก่อน ค่อยทดสอบ ^^

ออฟไลน์ Keigo

  • *****
  • 1,802
  • 28
  • เพศ: ชาย
  • TH@min Membership
Re: ถามวิธีการเช็ค process ในcentos
« ตอบกลับ #6 เมื่อ: 10 มกราคม 2011, 17:38:31 »
หา dummy process ทดลองก็ได้ครับ พอจะใช้งานจริงค่อยเปลี่ยน path เอา
<b>When we wake up in the morning, we have two simple choices. Go back to sleep and dream, or wake up and chase those dreams.</b>

ออฟไลน์ Penguinz Master

  • ***
  • 291
  • 0
  • May the Penguin wisdom be with you.
Re: ถามวิธีการเช็ค process ในcentos
« ตอบกลับ #7 เมื่อ: 11 มกราคม 2011, 07:20:24 »
ใช้ monit ไม่ต้องทดสอบ stop ก็ได้

นอกจากมัน monitor process ให้แล้ว

ถ้ามันมีปัญหาตายไป จะสามารถให้ทำอะไรได้

เช่น restart ใหม่ หรือให้ส่ง mail alert ก็ได้
"หากวิถีของเจไดเป็นเรื่องง่าย,คงมีพวกที่เหมือนเราเป็นพันล้านแทนที่จะมีแค่ไม่กี่โหล" ลุค สกายวอล์คเกอร์