The UNIX and Linux Forums  


Go Back   Die UNIX-und Linux-Foren > Top Foren > UNIX für Fortgeschrittene und Experten
.
Google unix.com



UNIX für Fortgeschrittene und Experten Expert-to-Experte. Erfahren Sie fortgeschrittene UNIX-, UNIX-Kommandos, Linux-Betriebssysteme, System-Administration, Programmierung, Shell, Shell-Skripte, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
den angegebenen Code in Endlosschleife und keine Erhöhung der Variable i mrityunjay22 Shell Programmierung und Scripting 6 12-26-2007 02:20 AM
Infinite Loop in AutoSys während der Ausführung ein Shell-Skript, Handbuch laufen gut sharmagaurav_2k Shell Programmierung und Scripting 2 09-04-2007 09:20 AM
Wählen Sie die Fehler der Server in eine Endlosschleife arjunjag High-Level-Programmierung 3 07-19-2007 02:53 AM
ls-Befehl in der Endlosschleife umakant SUN Solaris 3 07-17-2007 02:25 AM
hohe Priorität Thread enthält eine Endlosschleife rvan High-Level-Programmierung 0 02-14-2007 09:30 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 05-20-2008
ashish_uiit ashish_uiit is offline
Registrierte Nutzer
  
 

Join Date: Oct 2007
Beiträge: 25
Question Handhabung Infinite Gabel

wie Unix-Griffe als Prozess, Gabeln unendlich.
wie .......

while (1)
fork ();

........
Was passiert, wenn es ausgeführt wird und wie man es vermeidet.

Danke,
Ashish
  #2 (permalink)  
Old 05-20-2008
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix-Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9131
Es schafft so viele Prozesse wie möglich zu gestalten. Viele UNIX-Versionen sind mit einer Kernel-Variable namens maxuproc oder so ähnlich. Es ist max Prozesse, die ein Nicht-root-Benutzer erstellen können. Das ist wirklich die einzige und auch mit, dass ein Programm wie dieses ist ein Ärgernis. So schnell, wie Sie einen Prozess, der andere kommt.

Sich zu erholen, als root, so für den Anwender, der mit der "while (1) Gabel ();". root werden darf, um ein Root-Benutzer an diese, auch wenn diese Unebenheiten die Anzahl der Prozesse Vergangenheit maxuproc. Jetzt haben Sie eine Shell laufen, wenn der Benutzer. Die Shell kann nicht fork (), aber es kann exec (). So geben Sie den Befehl:
exec / usr / bin / kill -9 -1
Killing Prozess -1 tatsächlich Signale aller Prozesse im Besitz der Nutzer. Dies ist dokumentiert auf der kill (2) man-Seite und das ist von posix. Wenn es gibt eine Menge von Prozessen und System Calls sind preemptable und mit Echtzeit-Priorität ausgeführt werden, kann dies nicht funktionieren. Ein zweiter Ansatz ist:
exec / usr / bin / kill-STOP -1
Das Stop-Signal, deren Zahl variiert von System zu System, kann nicht gefangen werden. Es ist für die Kontrolle über ihre Arbeit und setzt den Prozess. Eine Aussetzung kann nicht versuchen, fork (), sondern sie weiterhin zu konsumieren ein Prozess-Steckplatz, so dass keine neuen Verfahren kann seinen Platz. Sobald alle betreffenden Prozesse ausgesetzt sind, können Sie töten aus.

Shells haben oft eine built-in kill-Befehl ... wenn sie mit -1 werden ein Prozess, dann können Sie dieses. Aber Tanks haben oft eingebaute tötet ersticken, dass auf dem killall konstant.
  #3 (permalink)  
Old 05-20-2008
ashish_uiit ashish_uiit is offline
Registrierte Nutzer
  
 

Join Date: Oct 2007
Beiträge: 25
Zitat:
Zitat von Perderabo View Post
Es schafft so viele Prozesse wie möglich zu gestalten. Viele UNIX-Versionen sind mit einer Kernel-Variable namens maxuproc oder so ähnlich. Es ist max Prozesse, die ein Nicht-root-Benutzer erstellen können. Das ist wirklich die einzige und auch mit, dass ein Programm wie dieses ist ein Ärgernis. So schnell, wie Sie einen Prozess, der andere kommt.

Sich zu erholen, als root, so für den Anwender, der mit der "while (1) Gabel ();". root werden darf, um ein Root-Benutzer an diese, auch wenn diese Unebenheiten die Anzahl der Prozesse Vergangenheit maxuproc. Jetzt haben Sie eine Shell laufen, wenn der Benutzer. Die Shell kann nicht fork (), aber es kann exec (). So geben Sie den Befehl:
exec / usr / bin / kill -9 -1
Killing Prozess -1 tatsächlich Signale aller Prozesse im Besitz der Nutzer. Dies ist dokumentiert auf der kill (2) man-Seite und das ist von posix. Wenn es gibt eine Menge von Prozessen und System Calls sind preemptable und mit Echtzeit-Priorität ausgeführt werden, kann dies nicht funktionieren. Ein zweiter Ansatz ist:
exec / usr / bin / kill-STOP -1
Das Stop-Signal, deren Zahl variiert von System zu System, kann nicht gefangen werden. Es ist für die Kontrolle über ihre Arbeit und setzt den Prozess. Eine Aussetzung kann nicht versuchen, fork (), sondern sie weiterhin zu konsumieren ein Prozess-Steckplatz, so dass keine neuen Verfahren kann seinen Platz. Sobald alle betreffenden Prozesse ausgesetzt sind, können Sie töten aus.

Shells haben oft eine built-in kill-Befehl ... wenn sie mit -1 werden ein Prozess, dann können Sie dieses. Aber Tanks haben oft eingebaute tötet ersticken, dass auf dem killall konstant.
thanks a lot.
  #4 (permalink)  
Old 05-21-2008
sumitpandya sumitpandya is offline
Registrierte Nutzer
  
 

Join Date: März 2006
Ort: Ahmedabad
Beiträge: 125
Weitere können Sie auferlegen Person / Gruppe spezifische Verwendung pam_limit und Konfigurationen in / etc / security / limits.conf-Datei.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 04:57 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0