ᲞᲠᲝᲒᲠᲐᲛᲣᲚᲘ ᲣᲖᲠᲣᲜᲕᲔᲚᲧᲝᲤᲐ

Linux / Unix ბრძანება 'execvp'

Ავტორი: Robert Simon
ᲨᲔᲥᲛᲜᲘᲡ ᲗᲐᲠᲘᲦᲘ: 22 ᲘᲕᲜᲘᲡᲘ 2021
ᲒᲐᲜᲐᲮᲚᲔᲑᲘᲡ ᲗᲐᲠᲘᲦᲘ: 12 ᲛᲐᲘᲡᲘ 2024
Anonim
EECS 338 - using execvp
ᲕᲘᲓᲔᲝ: EECS 338 - using execvp

ᲙᲛᲐᲧᲝᲤᲘᲚᲘ

შეასრულე ფუნქციების ოჯახი ცვლის მიმდინარე პროცესის სურათს ახალი პროცესის სურათთან. აქ აღწერილი ფუნქციები ფუნქციის წინა ბოლოებიაშეასრულე(2). 

ამ ფუნქციების საწყისი არგუმენტია ფაილის პასტა, რომელიც უნდა შესრულდეს.

const char * arg და შემდგომ ellipses წელსშესრულებაშესრულება, დაშეასრულოს ფუნქციებად შეიძლება ვიფიქროთ, როგორცarg0arg1, ..., argn. ისინი ერთად აღწერენ ერთი ან რამდენიმე წერტილის მითითებას გაუქმებული სტრიქონების ჩამონათვალის შესახებ, რომლებიც წარმოადგენს შესრულებული პროგრამისთვის ხელმისაწვდომი არგუმენტების ჩამონათვალს. პირველი არგუმენტი, კონვენციით, უნდა მიუთითებდეს იმ ფაილის სახელთან, რომელიც უკავშირდება ამ ფაილის შესრულებას. არგუმენტების სიაუნდა შეჩერდეს აNULL მაჩვენებელი.


execv დაexecvp ფუნქციები მიუთითებს ნოტარიულად დასრულებული სტრიქონების მიმანიშნებლების მასივზე, რომლებიც წარმოადგენს ახალ პროგრამისთვის ხელმისაწვდომი არგუმენტების ჩამონათვალს. პირველი არგუმენტი, კონვენციით, უნდა მიუთითებდეს იმ ფაილის სახელთან, რომელიც უკავშირდება ამ ფაილის შესრულებას. მაჩვენებლების მასივიუნდა შეჩერდეს აNULL მაჩვენებელი.

შეასრულოს ფუნქცია ასევე განსაზღვრავს შესრულებული პროცესის გარემოს დაცვითNULLმაჩვენებელი, რომელიც წყვეტს არგუმენტების ჩამონათვალს პარამეტრების სიაში ან argv მასივში მიმავალი მაჩვენებლის დამატებითი პარამეტრით. ეს დამატებითი პარამეტრი არის მაჩვენებლების მასივი null-terminated strings დაუნდა შეჩერდეს აNULL მაჩვენებელი. სხვა ფუნქციები ახალი პროცესის გამოსახულების გარემოს მიიღებს გარე ცვლადიდანგარემო მიმდინარე პროცესში.

ამ ფუნქციათა ზოგიერთს აქვს სპეციალური სემანტიკა.

ფუნქციებიშესრულება დაexecvp ასლის ასრულებს შესრულების ფაილის ძებნისას ჭურვის მოქმედებებს, თუ მითითებული ფაილის სახელი არ შეიცავს დახრილი (/) სიმბოლოს. საძიებო გზა არის გარემოში განსაზღვრული გზაPATH ცვლადი. თუ ეს ცვლადი არ არის მითითებული, ნაგულისხმევი ბილიკი ``: / bin: / usr / bin`` გამოიყენება. გარდა ამისა, გარკვეულ შეცდომებს მკურნალობენ სპეციალურად.


თუ ნებართვა უარყოფილია ფაილზე (მცდელობაშეასრულე დაბრუნდაადგილები), ეს ფუნქციები გააგრძელებენ დანარჩენი საძიებო გზების ძიებას. თუ სხვა ფაილი ვერ მოიძებნა, ისინი დაბრუნდებიან გლობალური ცვლადითერნნო მითითებულიადგილები.

თუ ფაილის სათაური არ არის აღიარებული (მცდელობაშეასრულე დაბრუნდაENOEXEC), ეს ფუნქციები შეასრულებს ჭურვი ფაილის ბილიკთან, როგორც პირველ არგუმენტს. (თუ ეს მცდელობა ვერ მოხდა, აღარ ხდება ძებნის შემდგომი ძებნა.)

დაბრუნების ღირებულება

თუ რომელიმეშეასრულე ფუნქციების ბრუნდება, მოხდება შეცდომა. დაბრუნების მნიშვნელობა არის -1, და გლობალური ცვლადიერნნო დაყენდება შეცდომა.

გამოიყენეთკაცი ბრძანება (კაცი) რომ ნახოთ როგორ გამოიყენება ბრძანება თქვენს კონკრეტულ კომპიუტერზე.

სახელი

execl, execlp, execle, execv, execvp - ფაილის შესრულება


სინოფსისი

# შევა

extern char ** გარემო;

int execl (const char *)ბილიკი, const char *არგუმენტი, ...); int execlp (const char *)ფაილი, const char *არგუმენტი, ...); int execle (const char *)ბილიკი, const char *არგუმენტი , ..., char * constშური[]); int execv (const char *)ბილიკი, char * constარგვ[]); int execvp (const char *)ფაილი, char * constარგვ[]);  

ᲡᲐᲘᲢᲘᲡ ᲨᲔᲠᲩᲔᲕᲐ

ᲞᲝᲞᲣᲚᲐᲠᲣᲚᲘ ᲕᲔᲠᲡᲘᲐ

როგორ გამოვიყენოთ VLC, რომ ნახოთ თითქმის ნებისმიერი ვიდეო Apple TV- ზე
ᲡᲐᲗᲐᲛᲐᲨᲝ

როგორ გამოვიყენოთ VLC, რომ ნახოთ თითქმის ნებისმიერი ვიდეო Apple TV- ზე

Apple TV არის შესანიშნავი სტრიმინგალური გასართობი გადაწყვეტა, მაგრამ ის შეზღუდულია იმ მედია ფორმატის რაოდენობით, რომლის თამაშიც მას შეუძლია. მას არ შეუძლია შინაარსის გადატანა მრავალი მედია სერვერისგა...
როგორ დავამატოთ მეგობრები Spotify– ზე
ᲡᲐᲗᲐᲛᲐᲨᲝ

როგორ დავამატოთ მეგობრები Spotify– ზე

ჩვენების პარამეტრებში განყოფილება, აირჩიეთ აჩვენეთ მეგობრების აქტივობა ჩართვა. potify– ის მეგობრების პოვნა და დამატების უმარტივესი გზაა თქვენი potify ანგარიშის Facebook– ზე დაკავშირება. თქვენ შეძლებ...