Article View: pl.comp.lang.python
Article #241Re: skrypt do zmiany tapety i prośba o komentarz
From: Jacek Konieczny
Date: Fri, 06 Dec 2002 16:26
Date: Fri, 06 Dec 2002 16:26
39 lines
2537 bytes
2537 bytes
In article <asq1u3$dg9$1@news.tpi.pl>, Adam Karpierz wrote:
> Nie, nie pomylilo mi sie.
> Tyle ze precyzyjniej powinienem powiedziec
> ze to co wywolywane jest przez system() moze
> sobie pojsc rownolegle.
Co to znaczy "może sobie pójść równolegle"?
$ python
Python 2.2.1 (#1, Sep 9 2002, 21:28:03)
[GCC 2.95.4 20010319 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> os.system("read")
>>> import os
>>> os.system("/bin/sleep 10")
... tutaj stoi 10 sekund ...
0
Jak dam "/bin/sleep 10 &" to rzeczywiście system() nie będzie czekał,
ale to nie znaczy, że po spanv() się tak nie da zrobić.
> spawnv z P_WAIT zapewnia ze wpierw skonczy sie to co
> jest wywolywane i dopiero wtedy skrypt pojdzie dalej
Co to znaczy "skończy się to co jest wywoływane"?
Jeżeli w ten sposób uruchomisz jakiegoś demona, to spawnv() zaraz wróci.
Różnice między system() a spawnv() są następujące:
- system uruchamia komendę poprzez interpreter poleceń systemowy
(w systemach UNIX powłokę). Powoduje to, że czasami niepotrzebnie jest
ładowany dodatkowy program, ale zyskujemy dodatkowe możliwości:
przekierowania, potoki, wstawianie zmiennych środowiska itp.
- spawn() wymaga jawnego podania listy argumentów wywoływanego programu.
Czasem to jest ułatwienie (nie trzeba ich cytować gdy zawierają spacje
i znaki specjalne), czasem utrudnienie --- np. gdy mamy je w postaci "linii
komend".
Pozdrowienia,
Jacek
Technical Details
Message-ID:
<slrnav1jtg.m1n.jajcus@nic.bnet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!newsfeed.tpinternet.pl!news.bnet.pl!not-for-mailReferences:
<h5iosa-e8c.ln@fastviper.viper.lan> <slrnav0phn.4pa.jajcus@serwus.bnet.pl> <asq16m$6qj$1@news.tpi.pl> <slrnav12aj.h0a.jajcus@serwus.bnet.pl> <asq1u3$dg9$1@news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!newsfeed.tpinternet.pl!news.bnet.pl!not-for-mail From: Jacek Konieczny <jajcus@bnet.pl> Newsgroups: pl.comp.lang.python Subject: Re: skrypt do zmiany tapety i prośba o komentarz Date: Fri, 6 Dec 2002 17:26:25 +0100 (CET) Organization: BetaSoft Lines: 39 Message-ID: <slrnav1jtg.m1n.jajcus@nic.bnet.pl> References: <h5iosa-e8c.ln@fastviper.viper.lan> <slrnav0phn.4pa.jajcus@serwus.bnet.pl> <asq16m$6qj$1@news.tpi.pl> <slrnav12aj.h0a.jajcus@serwus.bnet.pl> <asq1u3$dg9$1@news.tpi.pl> NNTP-Posting-Host: aleja.bmj.net.pl Mime-Version: 1.0 X-Trace: serwus.bnet.pl 1039191985 7486 195.82.161.242 (6 Dec 2002 16:26:25 GMT) X-Complaints-To: usenet@bnet.pl NNTP-Posting-Date: Fri, 6 Dec 2002 16:26:25 +0000 (UTC) X-NNTP-Sending-User: komp42@jajcus.bnet.pl User-Agent: slrn/0.9.7.3 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit