Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Tasks überschneiden sich

Mitglied: Lamerking

Lamerking (Level 1) - Jetzt verbinden

17.01.2006, aktualisiert 18.01.2006, 4131 Aufrufe, 7 Kommentare

Hallo zusammen,

ich habe folgendes Problem.
Ich habe unter Windows 2000 Server einen Task aufgesetzt, der automatisch eine Batch-Datei anstartet. Die Batch startet (vereinfacht gesagt) ein Programm, dass Aenderungen durchfuehrt.

Dieser Task soll in einem bestimmten Zeitabstand laufen. Die Aenderungen des Tasks bzw. der Batch dauern aber manchmal ziemlich lang oder ziemlich kurz. Das Problem an der Sache ist, dass der Task erneut gestartet wird, obwohl bereits eine Aenderung laeuft. Es laufen also auf einmal 2 Aenderung. Gibt es eine Moeglichkeit dem Task bzw. der Batch-Datei Parameter mitzugeben, damit der darauffolgnde Task wartet, bis die Aenderungsanwendung geschlossen ist?

Ich hoffe ich habe mich verstaendlich ausgedrueckt ;)

Danke schon mal.

Gruss
Tobias
Mitglied: 13100
17.01.2006 um 21:33 Uhr
1) überprüfe die existenz oder den inhalt der datei, die du unter punkt 3 anlegst.
2) wenn sie eine 1 beinhaltet oder existiert, dann brich ab, ansonsten setze fort.
3) schreibe eine 1 in eine datei (z.b. c:\status.txt).
4-499) exzessive batchnutzung nach deinem belieben
500) am ende des tasks/batch schreibst du eine 0 in die datei oder löscht
sie einfach wieder.


mit anderen worten, lässt du einfach einen oder auch mehrere taskzyklus
ausfallen, wenn der vorige noch nich abgeschlossen is, zu erkennen an der datei.
Bitte warten ..
Mitglied: Lamerking
18.01.2006 um 18:06 Uhr
Hi,

erstmal danke für deine Tipps.
Allerdings kann ich irgendwie nix damit anfangen ;)

1.) überprüfe die existenz oder den inhalt der datei, die du unter punkt 3 anlegst.

punkt3? was meinst du mit inhalt der datei?

2) wenn sie eine 1 beinhaltet oder existiert, dann brich ab, ansonsten setze fort.
Eine 1 beeinhaltet, hmmmmm???

Könntest du es evtl. mir etwas verständlicher erklären?

Danke schon mal.

Gruß Tobias
Bitte warten ..
Mitglied: 13100
18.01.2006 um 18:22 Uhr
ok, vergiss die eins, leg einfach eine datei an.
solange diese vorhanden is, weisst du, es rennt noch was.
also überprüfst du ganz am anfang, in deinem batch/task,
ob die datei da is, wenn dem so is muss dein script
abbrechen, andernfalls darf es bis zum ende ausgeführt
werden.

ich versuchs gleich nochmal, ganz knapp:

1) überprüfen ob datei existiert (ja = abbruch)
2) datei erstellen (echo > c:\woswas.txt)
3) die eigentliche arbeit erledigen
4) am ende die erstellte datei löschen (del woswasi.txt)

für "if exist" hab ich jetz gerad nich die syntax im kopf,
lässt sich aber sicher finden.
Bitte warten ..
Mitglied: Biber
18.01.2006 um 19:04 Uhr
Moin Lamerking,

ich kann zu Angels Lösung nur Handwerkliches hinzufügen.

::----snipp SimpleSemaphoreBsp.bat
@echo off & setlocal
Set "FlagFile=%temp%\FlagFile.txt"
Set "optionalerText=Nicht vergessen: Jaffa Cake und 3 Kefir von ALDI mitbringen."
if exist %FlagFile% goto :eof
echo %optionalerText%>%FlagFile%
Start /w D:\Eine\ProggiDatei.exe
del %Flagfile% >nul
::---snapp SimpleSemaphoreBsp.bat


Alternativ zu dieser Mimik könntest Du auch in der "Prozessliste" (das, was Du auch über den Taskmanager anschauen kannst) überprüfen, ob Dein eigentliches Programm aktiv ist. Wäre eine Spur zuverlässiger.
Angels Lösung hat ihren Schwachpunkt an der Stelle, an der Dein Proggi.exe einmal abstürzt. Dann wird u. U. auch der Batch nie fertig und die Flag-Datei nie wieder gelöscht.
Bis Du sie mal von Hand weglöscht.

Die Alternative hat allerdings ihre Schwachstelle an genau dem gleichen Punkt. Wenn Dein Proggi.exe "ohne Rückmeldung" tot überm Zaun und in der Prozessliste hängt, wird bis zur manuellen Entfernung nie ein zweiter gleichnamiger Prozess starten.

Also nimm die erste simple Variante.
Grüße Biber
<div align="center" style="width:100%; vertical-align:middle; background:silver; height:20px; border-style:solid; border-width:thin; border-color:#000000" dir="ltr" lang="de"><font size="1">Alles mit weniger als 50 Zeilen ist grundsätzlich ungetestet. Vor dem Starten System sichern.</font></div>
Bitte warten ..
Mitglied: Lamerking
18.01.2006 um 19:35 Uhr
Hi, wow super für deine Ausführungen!!!

Ich hätte es so realisiert:

if exist flagfile goto :eof
echo flagfile > flagfile
Aufgaben durchführen
del flagfile

Ich kann aber auch nicht scripten ;)
Die andere Variante würde mich aber schon mehr interessieren.
Könntest du die genauer erläutern?

Dank dir schon mal.

Gruß
Tobias
Bitte warten ..
Mitglied: 13100
18.01.2006 um 19:36 Uhr
Jaffa Cake und 3 Kefir - ich weiss nich was das is, aber es klingt wie biberfutter

legen wir noch einen scheit drauf:

&bull;) ins file wird das datum/zeit geschrieben.
&bull;) nach überprüfung der datei, überprüfst du das
datum mit dem aktuellen. wenn die differenz grösser als
x is, dann löscht du die datei und brichst ab.
&bull;) der nächste zyklus rennt dann wieder auf jedenfall.

x wird so definiert dass es eigentlich die längstezeit erledigt
sein sollte. kommt natürlich auch darauf an wie heikel und
zeitnah alles läuft/laufen muss.

in c++ bist du in dem fall wohl schnelle und besser beraten.
hier kannst du auch richtiges taskmanagement veranstallten.
man könnte auch von jeden, von deinem batch ausgeführten
programmteil einen rückgabewerte in die woswasi.txt schreiben,
aber jetz fang ich an zum übertreiben und höre deshalb auf,
bevor ich freidreh.
Bitte warten ..
Mitglied: Biber
18.01.2006 um 20:27 Uhr
@7203
...Biberfutter...
Ich drücke das gegenüber meiner Familie immer als "vegetarische und vitaminreiche Ernährung" aus.
Also nur Kekse mit Orangenfüllung und Kefir und Kaffee und Zigaretten.

@Lamerking

Dass ich sinngemäß geschrieben habe, "die kompliziertere Lösung über Prozessliste hat den gleichen Schwachpunkt" hattest Du aber mitgelesen, oder?

Unter XP wird schon ein Utility namens Tasklist.exe dabei; für alle Windowsversionen gibt es aber auch ähnliche Freeware-Utilities (pslist.exe, ps.exe,...etc.)

Du könnest also deren Output ( eine mehr oder weniger lange Liste von laufenden Prozessen) nach dem Namen Deines Proggi.exe durchsuchen.
:: Beispiel im Batch:
(TaskList | find /i "Proggi.exe" >nul) && goto :eof
...MachAufgaben...

Sprich: wenn "Proggi.exe" schon läuft, dann ("&&") Batch sofort beenden.
Mit Tasklist.exe könntest du theoretisch auch prüfen/filtern, ob die Proggi.exe ein "laufender" oder ein Prozess "ohne Rückmeldung" ist.

Aber da wir ja hier von M$-Windows reden, kann eben ein Prozess ohne Rückmeldung sehr wohl noch laufen (hat nur grad keine Kapazität frei zum Rückmelden) und ein "running prozess" in der Liste kann ebenso schon klinisch tot sein...
Mehr Sicherheit/Aussagekraft bekämst Du wirklich nur mit "echten" Programmiersprachen. Aber das ist ja für diesen Zweck etwas überdimensioniert.
Oder steuerst Du Satelliten mit diesem Batch oder ist das eine Kliniks-Narkose-Dosierung oder ähnliches?

Grüße Biber
Bitte warten ..
Ähnliche Inhalte
Netzwerkmanagement
Task-Verwaltungssystem
Frage von GabbaGandalfNetzwerkmanagement

Hi, ich bin auf der Suche nach einem Aufgabenverwaltungssystem für eine kleine Firma (5 Mitarbeiter). Es sollen Templates erstellt ...

Windows Server
Scheduled Tasks
Frage von derhoeppiWindows Server4 Kommentare

Hallo, vor kurzem habe ich einen Server migriert. Dabei wurden von mit sämtliche Scheduled Tasks exportiert und anschließend wieder ...

Windows Server

Task lässt sich nicht im Taskscheduler anlegen

Frage von Netsn00pWindows Server3 Kommentare

Hallo, ich muss bei einem Windows 2008 Server einen Task für eine automatische Sicherung per Skript erstellen. Sonst hat ...

Batch & Shell

Mit Powershell einen Task erstellen

gelöst Frage von MarabuntaBatch & Shell5 Kommentare

Hallo, ich habe diese Funktion fast komplett aus dem Internet. Powershell kenne ich schon ne weile aber mit dieser ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 17 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 23 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...