Ekko Skrevet 26. januar 2010 Del Skrevet 26. januar 2010 (endret) Hei Har et problem med en liten boks jeg har. Et program stopper i tide og utide og jeg skulle gjerne ha sjekket om dette programmet kjører og startet det hvis ikke. Jeg ser for meg at man har en cronjobb som kjører et skript som sjekker om prosessen kjører og deretter starter den hvis den ikke gjør det. Jeg ser for meg da at man kjører ps og bruker grep til å prøve å finne prosessen i output fra ps og at man starter prosessen om man ikke finner den. Problmene mine er: 1. Jeg har aldri laget en cronjobb før 2. Det ser ikke ut som at cron er installert. Det er en strippet utgave av linux som kjører på en litt spesiell hardware det er snakk om, versjonen er 2.6.24.7-rt17 #1 PREEMPT. 3. Jeg har ikke skrevet et skript før. Har noen noen pekerpinner for hva jeg bør prøve å gjøre, evt om den fremgangsmåten jeg har skissert er den beste, eller finnes det andre lure triks for å gjøre en slik oppgave. EDIT: kunne det vært en mulighet å kjøre et skript på oppstart som går i loop men som sover 1 min mellom hver gang det sjekker? Da slipper jeg vel styret det evt er med å installere cron-biten. EDIT 2: Litt usikker på om det er relevant, men er installert busybox: sh-2.05a$ busyboxBusyBox v1.00-pre8 (2004.05.28-00:36+0000) multi-call binary Usage: busybox [function] [arguments]... or: [function] [arguments]... BusyBox is a multi-call binary that combines many common Unix utilities into a single executable. Most people will create a link to busybox for each function they wish to use, and BusyBox will act like whatever it was invoked as. Currently defined functions: [, basename, busybox, cat, chgrp, chmod, chown, chroot, clear, cp, cut, date, dd, df, dirname, dmesg, du, echo, env, false, fgrep, find, free, grep, gunzip, gzip, halt, head, hexdump, hostname, id, ifconfig, init, insmod, kill, killall, klogd, ln, logger, ls, lsmod, mesg, mkdir, mknod, modprobe, more, mount, msh, mv, nc, nslookup, ping, pivot_root, poweroff, ps, pwd, reboot, reset, rm, rmdir, rmmod, route, sed, sh, sleep, sort, stty, sync, syslogd, tail, tar, tee, telnet, telnetd, test, top, touch, true, tty, umount, uname, uniq, uptime, vi, which, who, whoami, yes, zcat EDIT3: Fortsetter å oppdatere her jeg så folk ikke svarer på noe jeg vet eller tror jeg vet. Kan se ut som jeg bør prøve å oppgradere busyboxen for å få inn crond. Endret 26. januar 2010 av Ekko Lenke til kommentar
mikeys Skrevet 31. januar 2010 Del Skrevet 31. januar 2010 (endret) Til scriptet kan du bruke #! /bin/bash process=<prosessens navn> if [ `ps -A | grep $process` != "" ]; do process fi og lime det inn i en fil. Husk å gjøre filen kjørbar med `chmod +x <filnanv>` etterpå. Hva cron angår får du nesten researche selv, har aldri brukt det selv. Det ville nok vært til hjelp for deg selv å prøve å finne ut hva som gjør at prosessen du vil kjøre ikke oppfører seg slik den skal. Endret 31. januar 2010 av mikeys Lenke til kommentar
Sokkalf™ Skrevet 31. januar 2010 Del Skrevet 31. januar 2010 (endret) Kan du ikke bare starte prosessen fra et script med en evig loop i? while [ 1 ] do navn_på_kommando done Litt dirty, men det bør fungere, siden programmet vil startes igjen umiddelbart etter det avsluttes. Endret 31. januar 2010 av Sokkalf™ Lenke til kommentar
Mr.Elendig Skrevet 31. januar 2010 Del Skrevet 31. januar 2010 pidoff <command> || <command> Lenke til kommentar
Ekko Skrevet 31. januar 2010 Forfatter Del Skrevet 31. januar 2010 Takk for forslagenen, burde vært tilbake og merket tråden løst. Ble en evig while med sleep som startes på boot + ps|grep Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå