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, 4136 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
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 ...

Windows 10

Sheduled task mit GUI

gelöst Frage von bk900042Windows 104 Kommentare

Hallo Community, auf meinem VPS will ich sicherstellen, daß eine Applikation immer läuft. Um sie problemlos im gemischten Modus ...

Windows Server

Terminalserver Verwaltung der Tasks

Frage von EmptymanWindows Server7 Kommentare

Hallo zusammen, ich habe aktuell noch eine Citrix-Terminalserver-Umgebung auf Server 2012 R2 und XenApp 7.6 am laufen und veröffentliche ...

Neue Wissensbeiträge
Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 8 StundenServer-Hardware1 Kommentar

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Windows 10

Kumuative Updates für .NET Framework kommen für Windows 10 V1809

Information von kgborn vor 13 StundenWindows 10

Microsoft hat das Ganze im Beitrag Announcing Cumulative Updates for .NET Framework for Windows 10 October 2018 Update vorgestellt. ...

Sicherheit
Neue IT-Administrator Ausgabe - Endpoint Security
Information von Frank vor 14 StundenSicherheit

Die Endgeräte in Unternehmen stellen das wohl größte Einfallstor für Angreifer dar. Ein geöffneter, infizierter E-Mail-Anhang oder der Besuch ...

Windows Tools

Windows 10 BitLocker Laufwerkverschlüsselung ohne TPM-Chip

Anleitung von Frank vor 14 StundenWindows Tools4 Kommentare

Diese Anleitung zeigt, wie man die Windows BitLocker Laufwerkverschlüsselung ohne TPM-Chip Schritt für Schritt aktiviert. Zwar haben viele Laptops ...

Heiß diskutierte Inhalte
Hyper-V
Windows Serer 2016 Standard virtualisieren
gelöst Frage von fritte87Hyper-V33 Kommentare

Hallo zusammen, ich muss für eine kleine Firma ein entsprechendes neues kleines Konzept bauen. Ich habe einen Server Standard ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Voice over IP
Umstellung Anlagenanschluss ISDN auf IP - Welcher Router?
Frage von ToniSchmidtVoice over IP12 Kommentare

Hallo zusammen, zum Ende des Jahres werden unsere geliebten ISDN Anlagenanschlüsse zwangsweise auf IP Anschlüsse umgestellt. Wir betreiben die ...

Firewall
Externer Zugriff auf Webserver
Frage von KingLouieFirewall12 Kommentare

Hallo zusammen, ich habe folgendes Problem: Ein Kollege muss gelegentlich auf einen Webserver zugreiffen, sowohl von intern als auch ...