processes unix process control
Gestió de processos a Unix:
com obrir fitxers .jar
A Unix, totes les instruccions fora del nucli s’executen en el context d’un procés.
Un procés és una seqüència d’instruccions i cada procés té un bloc de dades controlades associades. Els processos es poden manipular d’una manera similar a la manera com es poden manipular els fitxers.
Per exemple, com 'ls' es pot utilitzar per veure la llista de fitxers, 'ps' es pot utilitzar per veure la llista de processos.
Vídeo Unix # 23:
En aquest tutorial, analitzarem quina informació relacionada amb els processos s’emmagatzema i també descriurem algunes ordres que s’utilitzen per gestionar els processos. També proporcionarem una breu descripció de com es poden depurar els scripts d’ordres.
Què aprendreu:
Informació del procés Unix
La taula de processos conté informació de tots els processos que s’executen actualment. L’objectiu principal d’aquesta taula és gestionar tots els processos en execució amb eficàcia.
Nota: Com a sistema operatiu multitasca i multiusuari, Unix tindrà molts processos en execució al mateix temps.
La taula conté informació com:
- Identificador de procés
- Identificador de procés principal
- Estat dels processos
- ús de la CPU
Els processos a Unix passen per diversos estats en funció de diverses circumstàncies. Els canvis d'estat es poden desencadenar per si un procés ha d'esperar a que finalitzi una operació de lectura o escriptura, o quan s'hagi d'executar un procés diferent i urgent.
Ordres de control de processos
Hi ha diverses ordres disponibles per revisar i manipular processos. L’ordre ‘ps’ es pot utilitzar per veure la informació d’estat del procés.
Comandament | ps: proporciona informació de tots els processos que s'estan executant actualment. |
---|---|
Sintaxi comuna | $ ps (OPCIONS) |
Exemple 1 | $ ps Ofereix informació sobre el procés, inclosos el PID, el nom del terminal, l’hora de creació i el nom dels processos. |
Com es va discutir en un tutorial anterior, els processos es poden classificar com a primer pla, en segon pla o dimoni. Quan s'executa una ordre des del terminal, s'executa normalment en primer pla. Per executar un procés en segon pla, es pot utilitzar el botó '&' al final de l'ordre.
Exemple:
$ grep “how” file1 > file2 &
Aquesta ordre buscarà les línies que continguin el patró 'com' i emmagatzemarà la sortida al fitxer2. Si el fitxer 1 és raonablement gran, potser voldríem continuar amb altres accions i executar aquesta ordre en segon pla. Amb el '&' al final, aquesta ordre s'executarà com a procés en segon pla.
És possible suspendre un procés de primer pla mitjançant l’ordre ‘^ Z’. Aquesta ordre mou el procés de primer pla actual a un estat suspès en segon pla. A partir d’aquí, el procés es pot reprendre en segon pla mitjançant l’ordre ‘bg’ o es pot tornar al primer pla mitjançant l’ordre ‘fg’.
Cada procés també està associat a una prioritat. S’utilitza per assegurar-se que el SO és capaç d’assignar temps de manera justa a diverses tasques de processament. L'ordre 'agradable' es pot utilitzar per reduir la prioritat d'un procés i, per tant, ser 'agradable' amb els altres processos, és a dir,
$ agradable
Aquesta línia executarà l'ordre especificada amb una prioritat inferior: per defecte, la prioritat es reduirà en 10. L'ordre també pren un paràmetre que es pot utilitzar per utilitzar un nivell diferent de 'simpatia'.
Exemple:
$ nice -20 ls
Aquesta ordre executa 'ls' amb la prioritat reduïda en 20.
També és possible augmentar la prioritat amb una 'simpatia' negativa. Tanmateix, això necessita permís de superusuari.
llocs web per veure animis de forma gratuïta
Quan es tanca una sessió de terminal o sessió, envia el senyal SIGHUP als processos secundaris. Per defecte, aquest senyal farà que finalitzin els processos secundaris. L’ordre ‘nohup’ es pot utilitzar per permetre que les ordres continuïn executant-se fins i tot quan finalitza la sessió d’inici de sessió.
Exemple:
$ nohup soft file1 > file2
Amb aquesta ordre, l’ordenació del fitxer1 i el procés de desat al fitxer2 continuaran fins i tot si hem tancat la sessió del sistema.
L’ordre ‘kill’ es pot utilitzar per finalitzar qualsevol dels processos en funció dels permisos.
Exemple:
$ kill (options)
Aquesta ordre finalitzarà un procés amb l'identificador de procés. El PID d’un procés es pot obtenir mitjançant l’ordre ‘ps’.
Aquesta ordre 'a' s'utilitza per executar ordres en una data i hora concretes en el futur.
Exemple:
$ at 8pm sort file1>file2
Depuració Unix
Unix proporciona una sèrie de mecanismes per ajudar a trobar errors als scripts d'ordres. Aquests mecanismes es poden utilitzar per veure un rastre del que s’està executant, és a dir, la seqüència en què s’executen les ordres. La traça es pot utilitzar per comprendre i verificar la lògica i el control del flux de l'script.
=> defineix -v
mode detallat: Si configureu aquesta opció abans d'executar una ordre, s'assegurarà que l'ordre que s'executarà s'imprimeixi a stdout abans que s'executi realment.
=> set -x
mode de seguiment d'execució: Si configureu aquesta opció, es mostrarà cada ordre mentre s'executa juntament amb els seus arguments.
=> set -n
mode sense execució: Si configureu aquesta opció es mostren els errors sense executar cap ordre.
quin és el millor compte de correu electrònic que teniu
Consulteu el nostre proper tutorial per obtenir més informació Script de shell avançat.
Lectura recomanada
- Ordres de control de processos Unix com Ps i Top (part C)
- Ordres Unix: ordres bàsiques i avançades Unix amb exemples
- Ordres de processament de text Unix: filtres Unix amb exemples
- Tutorial Unix Pipes: Pipes a la programació Unix
- Més comandaments Unix Filter i Awk, Sed en el processament de text
- Arguments de la línia d'ordres a Unix Shell Script amb exemple
- Tutorial d'UNIX per a principiants (més de 20 vídeos d'entrenament en profunditat d'Unix)
- Com comparar dos fitxers a Unix: ordres de comparació de fitxers