• Nie Znaleziono Wyników

Laboratorium 4 Programy do wykorzystania: lab4.tar.gz

N/A
N/A
Protected

Academic year: 2021

Share "Laboratorium 4 Programy do wykorzystania: lab4.tar.gz"

Copied!
1
0
0

Pełen tekst

(1)

Programowanie systemowe 2006/2007 Studia zaoczne

1

Laboratorium 4

Programy do wykorzystania: lab4.tar.gz Zadanie 1

Napisz program, który jest uproszczoną wersją polecenia du:

a) działa tylko we wskazanym katalogu,

b) wyświetla albo wielkości poszczególnych plików albo ich sumę

c) wielkości mogą być wyświetlane w różnych jednostkach (patrz polecenie du) w zależności od podanej opcji

Zadanie 2

Napisz własną wersję polecenia which. Polecenie to działa w oparciu o zmienną PATH. Pobiera nazwę programu do wykonania i wyświetla jego pełną nazwę ścieżkową, o ile zostanie znaleziona w jednym z katalogów zmiennej PATH (zobacz działanie polecenia which). Aby informacja ta była wyswietlona.

dodatkowo musi być spełniony warunek, że użytkownik, który wydał polecenie which ma prawo do wykonywania tego programu.

Wskazówka: funkcje do wykorzystania getenv(), geteuid(), getegid(), stat().

Zadanie 3. Przeadresowywanie do pliku

Zapoznaj się z programem whotofile.c. Program ten przesyła wynik polecenia who do pliku.

a) Zmodyfikuj ten program tak, aby działał w zależności od sposobu wywołania:

• whotofile - wynik wyświetlany jest na ekranie

• whotofile plik – wynik jest przesyłany do pliku; jeśli plik o takiej nazwie istnieje, jego zawartość jest usuwana; jeśli nie istnieje, plik jest tworzony

• whotofile –a plik – wynik jest dopisywany do pliku, jeśli plik istnieje; jeśli plik nie istnieje, plik jest tworzony

Użyteczne funkcje: dup2, getopt.

Zadania domowe Zadanie 4

Napisz program, który informuje za pomocą sygnału dźwiękowego lub w inny sposób o nadejściu nowej poczty.

Zapoznaj się ze wstępną wersją tego programu biff1.

a) zastąp funkcję open() funkcją stat().

b) pozwól użytkownikowi określać częstotliwość sprawdzania skrzynki (zmienna środowiskowa MAILCHECK), jeśli tego nie zrobi przyjmij wartość domyślną.

c) zastąp stałą nazwę odbiorcy pocztą nazwą użytkownika, który uruchomił program d) ostateczna wersja programu: program uruchamiany jest następująco:

biff2 [-s n] [-p path]

Zapis [ ] oznacza, że argument jest opcjonalny.

Opcja –s oznacza częstotliwość sprawdzania poczty. Jeśli nie jest podana, to sprawdzana jest wartość zmiennej MAILCHECK. Jeśli zmienna nie jest zdefiniowana, przyjmowana jest wartość domyślna.

Opcja –p określa ścieżkę użytkownika, którego skrzynka ma być sprawdzana. Jeśli nie jest podana, to sprawdzana jest wartość zmiennej MAILCHECK. Jeśli zmienna nie jest zdefiniowana, przyjmowana jest wartość domyślna - nazwa użytkownika, który uruchomił program.

Cytaty

Powiązane dokumenty

Napisz program, który pobiera długość boku kwadratu I wypisuje jego obwód

Na tej podstawie oszacuj czas działania pojedynczej pary tych instrukcji (po prostu zmierz czas wykonywania się powyższej pętli) i porównaj z czasem potrzebnym Twojemu procesorowi

Sposób: załącznik do listu

2.Napisz program wyświetlający na ekranie za pomocą funkcji printf kody ASCCI podobnie jak program lab1_2.exe.. Zastosuj pętle for oraz

Podaj i opisz poszczególne elementy połączenia z bazą danych za pomocą mechanizmu typu DSN-less z bazą danych Microsoft Access – napisz program, który łączy się z bazą

słupkowy lub kołowy pokazujący, ile razy każda z operacji z obiektu klasy Uchwyt była wywołana od czasu uruchomienia programu do czasu tworzenia i

(11) Napisz program, który pobiera od u»ytkownika liczb¦ naturaln¡ n, nast¦pnie wczy- tuje n liczb caªkowitych, i wypisuje: ±redni¡, najwi¦ksz¡ i najmniejsz¡.. (12) Napisz

Poczta elektroniczna jest bardzo dynamicznym kanałem komunikacji, zwłaszcza w po- równaniu z komunikacją pisemną: wielu badanych pracowników jest cały czas on-line, pra-