daily pastebin goal
68%
SHARE
TWEET

Untitled

a guest Mar 21st, 2019 60 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. USUX
  2. Sprawozdanie Laboratorium 3
  3.  
  4. Zadanie 1.
  5. Aby wyświetlić listę procesów z bieżącej sesji konkretnego użytkownika, należy użyć komendy
  6. '$ps -lu user_name'.
  7.  
  8. Ukazują się następujące atrybuty:
  9. F - flaga procesu (1 - sforkowany; 4 - używał uprawnień roota);
  10. S - Kod stanu procesu. Większość procesów było w stanie S (czekający na
  11. zakończenie zdarzenia) - jedynym, który nie miał takiego stanu był ps.
  12. UID - ID użytkownika
  13. PID - ID procesu
  14. PPID - ID rodzica procesu
  15. C - Wartość liczbowa procentu użycia procesora
  16. PRI - Priorytet procesu;
  17. NI - Wartość nice; Dla użytkownika usux1 wszystkie procesy miały NI równe
  18. 0 oprócz procesu pulseuadio. Dla użytkownika root było parę procesów o
  19. NI równym 19, 5, -4, -2 itd.
  20. ADDR - Adres procesu w pamięci; wszystkie wartości były równe '-';
  21. SZ - Zużycie pamięci wirtualnej;
  22. WCHAN - Adres w pamięci wydarzenia, na które oczekuje proces;
  23. TTY - Terminal związany z procesem;
  24. CMD - Nazwa procesu (zawierająca argumenty wywołania, jeśli takie były).
  25.  
  26. Zadanie 2.
  27. W celu zobaczenia wszystkich procesów w systemie należy wpisać $ps -A. Procesy
  28. własne można zobaczyć wpisując $ps -ux. Żeby zobaczyć drzewo procesów od
  29. inita, należy użyć polecenia $pstree -npu usux1.
  30.  
  31. Zadanie 3.
  32. Aby wysłać sygnał do procesu należy wpisać polecenie  : "$kill -sygnał pid"
  33. Dla przykładu po wpisaniu $kill -SIGINT xxxxx proces przeglądarki Firefox został zamknięty.
  34. Po wpisaniu "$kill -SIGSTOP xxxxx" proces przeglądarki został zawieszony,
  35. program nie odpowiadał. Dopiero wpisanie $kill -SIGCONT xxxxx spowodowało wznowienie pracy Firefoxa. Aby zignorować sygnał SIGINT, który domyślnie w terminalu jest wywoływany wciśnięciem
  36. kombinacji CTRL+C, należy wpisać $trap '' SIGINT. Wtedy po uruchomieniu
  37. procesu, już go nie można zakończyć za pomocą CTRL+C (wysyłany sygnał
  38. SIGINT jest ignorowany). Aby usunąć wprowadzone zmiany, należy wpisać
  39. $trap - SIGINT. Aby ustawić wykonywanie reakcji na polecenie, należy
  40. wpisać np. $trap "echo tekst" SIGINT - proces zostanie zabity, a następnie
  41. zostanie wyświetlony string tekst.
  42.  
  43. Zadanie 4.
  44. Żeby terminal nie czekał na zakończenie procesu, należy dodać & na koniec. Użyłem polecenia $sleep 250 &
  45.  
  46. Reakcje na komendy :
  47.  
  48. Na komendę $jobs dostajemy informację, że taki proces jest uruchomiony.
  49. Na komendę $fg dostajemy nazwę polecenia przenieionego na pierwszy plan, w tym stanie nie mamy możliwości nic wykonać aż do zakończenia polecenia sleep.
  50. Na komendę $bg dostajemy informację "job already in background".
  51.  
  52.  
  53. Wykonujemy polecenie $sleep 200, a następnie wysyłamy sygnał zatrzymania SIGSTOP,
  54. poprzez wciśnięcie kombinacji CTRL+Z przenosimy proces do tła.
  55. Możemy to sprawdzić wpisując komendę $jobs -l. Następnie wznawiamy go poprzez wpisanie $bg (aktywuje go na dalszym plane niż pierwszy). Możemy sprawdzić różnice za pomocą komendy $jobs -l
  56. ($jobs - l zmiana stanu suspended na running).
  57.  
  58. Zadanie 5.
  59. Zgodnie z poleceniem uruchamiamy proces z obniżonym priorytetem: $nice -5 sleep 100 &
  60. Sprawdzamy wartość nice, $ps -ul usux1 -> jest równa xx. Wartość PRI to 90.
  61. Zmieniamy wartość NICE za pomocą komendy $renice 19 -p 3021.
  62. Dostajemy komunikat: old priority 10, new priority 19. Nowa wartość PRI to 99.
  63. Niemożliwe jest ustawienie wyższego priorytetu (czyli niższej wartości NICE) -
  64. dostajemy komunikat "setpriority: brak dostępu"
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top