Zum Inhalt springen

hetticom

Mitglieder
  • Gesamte Inhalte

    30
  • Benutzer seit

  • Letzter Besuch

  1. GAI 64% (vielen Dank auch $%$&) GAII 81% Wiso 74% (auch zu wenig) leider liefs wie erwartet ... naja, ne 2 is immer noch drin
  2. die Ergbnisse der IHK Düsseldorf werden wohl Anfang Juni verschickt. Das meinte zumindest die netten Dame der IHK eben am Telefon.
  3. Ich darf am 11.06. um 13 Uhr ran. IHK Düsseldorf
  4. hat jemand von euch Ahnung von Interprozesskommunikation? Wie ich mit Pipes und STDIN/STDOUT die Kommunikation hinbekomme?
  5. ich besuche das HHBK aktuell noch und kann sagen, dass es doch sehr gemischt ist. Manche Lehrer sind echt doof wie die Nacht und bekommen nix auf die Reihe. Aber manche Lehrer sind gut im Stoff drin, bilden sich weiter, haben auch hohe Ansprüche an die Schüler (leider auch in Klausuren). Es gibt also schon eine große Diskrepanz beim Niveau der Lehrer. Zum Umfeld: Ja, es gibt viele Assis an der Schule, aber man muss sich in den Pausen ja nicht zu denen stellen ;-) Und es sind ja auch nur 3 Wochen, insgesamt kann man das schon verkraften. Seht es mal so: Das ist bezahlter Urlaub
  6. Ja da hast du leider Recht ... :upps Hab schon einige Varianten versucht, aber entweder läuft das Skript komplett durch und das "erfolgreich" oder es gibt mir jeden anderen Return-Code raus (meist die 1), nur nicht die "6", die es in dem Fall ausgeben müsste. Das Problem liegt im elsif-else-Zweig. Da steht zwar ein "exit(6)", wenn das Zippen der Datei nicht funktioniert. Aber der Return-Code wird scheinbar danach noch verändert (von wem weiß ich nicht), sodass am Ende des Skriptes eine "1" ausgegeben wird. Das is aber auch kompliziert mit diesem fork und den child- und parent-Prozessen. Ich steig da nicht so ganz durch
  7. hey, das mit dem shiften klappt. Aber ich hab folgendes Problem: Return-Codes! Wenn das Zippen in einem Child-Prozess nicht klappt, soll dieser einen bestimmten Return-Code zurückgeben, damit das ganze Programm mit diesem abgebrochen wird. Aber irgendwie haut das noch nicht so hin wie es soll. $prozesse = $options{'n'}; @dateien = glob("$options{'p'}/*$options{'f'}*"); if (scalar @dateien < 1) { &print_message ('30001', "Keine Dateien gefunden"); $rc = 10; exit $rc; } # Bestimmung der aeusseren Schleifendurchlaeufe if (scalar @dateien > $prozesse) { $aussen = int(scalar @dateien / $prozesse); $aussen++; } else { $prozesse = scalar @dateien; } # Aeussere Schleife. Durchlaeufe: (Anzahl Dateien / Prozessanzahl) + 1 for ($i=1; $i <= $aussen; $i++) { if (scalar @dateien < $prozesse) { $prozesse = scalar @dateien; } # Innere Schleife. Durchlaeufe: Anzahl Prozesse for (1..$prozesse) { my $pid = fork(); if ($pid != 0) { # parent-Prozess push (@children, $pid); } elsif ($pid == 0) { # child-Prozess $rc = &zipfile; if ($rc == 1) { exit(0); } else { $rc = 6; exit(6); } } else { die "couldn't fork: $!\n"; } $index++; } foreach (@children) { waitpid($_, 0); if ($? != 0){ exit(6); } } splice (@dateien,0,$prozesse); $index = 0; } print "rc: $rc \n"; ########################################################################## sub zipfile { # ########################################################################## &timestamp; print "Zippe $dateien[$index]\n"; $rc = system("gzip -N $dateien[$index]"); if ($rc != 0) { &print_message ('30001', "$dateien[$index] konnte nicht gezippt werden \n"); return(6); } else { &timestamp; print "Zippen von Datei $dateien[$index] erfolgreich beendet \n"; return(0); } } ########################################################################## sub timestamp { # ########################################################################## ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); printf "%02d.%02d.%4d %02d:%02d:%02d\t", $mday,$mon+1,$year+1900,$hour,$min,$sec; }
  8. Hi! Ich bräuchte mal eure Hilfe, häng da n bisschen fest (hab auch noch nicht so die tiefen perl-Kenntnisse). Folgendes Problem: Ich habe ein Skript gebastelt, mit dem ich 5 Dateien parallel mit gzip komprimieren kann. Soweit, so gut. Nun hab ich aber das Problem, dass die Dateien nicht aus dem Array geschoben werden. D.h. wenn 8 Dateien im Array liegen, werden die ersten 5 gezippt, danach müssten dann die restlichen 3 parallel laufen, das Skript versucht aber wieder 5 zu zippen. Das liegt daran, dass meine Subroutine nach dem Zippen die Dateien nicht aus dem Array wirft. Habt ihr dafür ne Lösung? Hier mal die Code-Schnipsel: # Bestimmung der aeusseren Schleifendurchlaeufe if (scalar @dateien > $prozesse) { $aussen = int(scalar @dateien / $prozesse); $aussen++; } else { $prozesse = scalar @dateien; } # Aeussere Schleife. Durchlaeufe: (Anzahl Dateien / Prozessanzahl) + 1 for ($i=1; $i <= $aussen; $i++) { print "anz: scalar @dateien \t array: @dateien \n"; if (scalar @dateien < $prozesse) { $prozesse = scalar @dateien; } print "prozesse: $prozesse \n"; # Innere Schleife. Durchlaeufe: Anzahl Prozesse for (1..$prozesse) { my $pid = fork(); if ($pid) { # parent-Prozess push (@children, $pid); } elsif ($pid == 0) { # child-Prozess &zipfile; exit(0); } else { die "couldn't fork: $!\n"; } $index++; } foreach (@children) { waitpid($_, 0); } } sub zipfile { &timestamp; print "Zippe $dateien[$index]\n"; $rc = system("gzip -N $dateien[$index]"); if ($rc != 0) { &timestamp; &print_message ('30001', "$dateien[$index] konnte nicht gezippt werden"); } else { &timestamp; print "Zippen von Datei $dateien[$index] erfolgreich beendet \n"; shift (@dateien); } } sub timestamp { ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); printf "%02d.%02d.%4d %02d:%02d:%02d\t", $mday,$mon+1,$year+1900,$hour,$min,$sec; } $rc = 0; Weder das Shiften in der Main-Funktion noch in der Zipfile-Funktion führen zum Erfolg. Es ist sogar egal, ob ich der Zipfile-Funktion das Array übergebe oder nicht. Ergebnis ist immer das gleiche. Danke! Christian
  9. Seh ich ähnlich, da bringt einem der "Lehrplan", welche Themen vermittelt werden, schon wesentlich mehr. Da sollte sich jeder bei der Uni/FH seiner Wahl mal informieren. Ich werde im kommenden Semester mal 1-2 Tage an Vorlesungen teilnehmen und mir das mal anschauen, ob mir das prinzipiell zusagt.
  10. aber es muss doch möglich sein, dass dem Threadersteller eine gewisse Umgebung zur Verfügung gestellt wird, in der er testen und "spielen" kann. Bei mir in der Firma gibt es z.B. eine Testumgebung, auf die die Produktionsumgebung abgebildet wird. Ansonsten muss es doch möglich sein, ein bisschen Equipment aufzutreiben, um sich ein kleines Testnetz aufzubauen. So ein Testlabor hat doch eigentlich jede größere Firma (bzw Stadtverwaltung ), oder?
  11. hab hier mal vor kurzem so nen Test gemacht, ob man für ein Informatik-Studium geeignet ist, da mich das Thema auch beschäftigt (hab noch ein Jahr als FISI). Wie viel man auf diesen Test geben kann, weiß ich leider nicht. Aber ich denke man bekommt ungefähr einen Eindruck, welche Themen im Studium behandelt werden. Eignungstest Informatik
  12. lupo49 hat Recht, das is ne bitweise UND-Verknüpfung. Wie das genau funktioniert weiß ich zwar immer noch nicht (sollte ich das als Fi-Si im 2. Jahr *kopfkratz*), aber das lass ich mir noch erklären. Oder kann das einer von euch zufällig? ;-) Jedenfalls funktioniert das Skript wunderbar. Vielen Dank an euch für die tatkräftige Hilfe!
  13. ok, super, das klappt auch! Ihr seid echt klasse Kann mir jemand die Syntax hier erklären? Ich steig da nicht dahinter :confused: Mach ja erst seit Mai Perl ... $mode = (stat($filename))[2]; printf "Permissions are %04o\n", $mode & 07777; Das gibt mir dann z.B. "0644" aus. Wie kann ich diese Ausgabe denn jetzt in ner Variablen speichern? Und was bewirkt dieses "& 07777"?
  14. mir gehts ähnlich. Ich bin nächsten Mai fertig und weiß auch noch nicht, was ich machen soll. Zum einen bietet sich ein Bachelor in Informatik an (HS Karlsruhe), zum anderen wäre ein Job als Admin in einem kleineren Betrieb interessant (wobei der Medizinbereich auch für mich sehr interessant ist ;-)). Vielleicht wäre ein Job als Consultant oder Trainer das richtige. Bei Jobbörsen gibt es doch auch Angebote, dass man dich zum Consultant "ausbildet" (-> Trainee Vertrieb: Wir bilden Dich zum Consultant aus ! Vielleicht ist das das richtige für dich. Einen Job als Trainer könnte ich mir z.B. auch gut vorstellen, ist aber leider nicht immer eine einfache Aufgabe
  15. ok, stat bringt mich schon mal n Stück weiter. Damit kann ich recht einfach die Rechte prüfen. Danke schon mal dafür! Problem weiterhin: Der Owner. stat zeigt mit die User-ID an, ich möchte/soll aber nach dem Namen prüfen. Und ich finde es ziemlich umständlich, den Namen in der Config-Datei unter Unix mit "id <Username>" in die uid umzuwandeln und dann zu vergleichen. Habt ihr da ne einfachere Lösung?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...