Hướng dẫn nohup php - nohup php

Tôi đang cố gắng khởi chạy SAR và để nó chạy mãi mãi thông qua tập lệnh PHP. Nhưng vì bất cứ lý do gì, nó không bao giờ thực sự ra mắt. Tôi đã thử như sau:

Nội dung chính ShowShow

  • Sự mô tả
  • Thông số
  • Trả về giá trị
  • Trên Windows Exec () trước tiên sẽ bắt đầu cmd.exe để khởi chạy lệnh. Nếu bạn muốn bắt đầu một chương trình bên ngoài mà không bắt đầu cmd.exe sử dụng Proc_open () với tùy chọn

exec('sar -u 1 > /home/foo/foo.txt &');
exec('sar -o /home/foo/foo -u 1 > /dev/null 2>&1 &');  

Tuy nhiên nó không bao giờ ra mắt SAR. Nếu tôi chỉ sử dụng:

exec('sar -u 1')

Nó hoạt động nhưng nó chỉ treo tập lệnh PHP. Tôi hiểu rằng nếu một chương trình được bắt đầu với chức năng EXEC, để nó tiếp tục chạy ở chế độ nền, đầu ra của chương trình phải được chuyển hướng đến tệp hoặc luồng đầu ra khác.

Đã hỏi ngày 6 tháng 7 năm 2015 lúc 20:07Jul 6, 2015 at 20:07Jul 6, 2015 at 20:07

Hướng dẫn nohup php - nohup php

2

Tôi sẽ giả sử bạn chạy điều này trên nền tảng *nix. Để có được PHP để chạy một cái gì đó trong nền và không chờ đợi quá trình kết thúc, tôi sẽ giới thiệu 2 điều: đầu tiên sử dụng

exec('sar -u 1')
2 và cũng chuyển hướng đầu ra của lệnh thành
exec('sar -u 1')
3 (thùng rác).

Example:

 /dev/null 2>/dev/null &');

Nohup có nghĩa là chúng tôi không gửi tín hiệu "treo" (giết chết quá trình) khi thiết bị đầu cuối chạy lệnh đóng. means we do not send the "hang up" signal (which kills the process) when the terminal running the command closes. means we do not send the "hang up" signal (which kills the process) when the terminal running the command closes.

exec('sar -u 1')
4 chuyển hướng đầu ra "bình thường" và "lỗi" đến vị trí blackhole
exec('sar -u 1')
3. Điều này cho phép PHP không phải chờ các đầu ra của lệnh được gọi. redirects the "normal" and "error" outputs to the blackhole
exec('sar -u 1')
3 location. This allows PHP to not have to wait for the outputs of the command being called.
redirects the "normal" and "error" outputs to the blackhole
exec('sar -u 1')
3 location. This allows PHP to not have to wait for the outputs of the command being called.

Một lưu ý khác, nếu bạn đang sử dụng PHP chỉ để gọi lệnh shell, bạn có thể muốn xem xét các tùy chọn khác như Ubuntu Upstart mà không có thành phần PHP-nếu bạn đang sử dụng Ubuntu.

Đã trả lời ngày 6 tháng 7 năm 2015 lúc 20:20Jul 6, 2015 at 20:20Jul 6, 2015 at 20:20

DJ Sipedj SipeDJ SipeDJ Sipe

1.11612 Huy hiệu bạc12 Huy hiệu đồng12 silver badges12 bronze badges12 silver badges12 bronze badges

1

(Php 4, Php 5, Php 7, Php 8)

EXEC - Thực hiện một chương trình bên ngoài — Execute an external programExecute an external program

Sự mô tả

Thông số

Trả về giá trị0, int
exec('sar -u 1')
1 =
exec('sar -u 1')
0): Chuỗi | Sai
(string
exec('sar -u 1')
7
, array
exec('sar -u 1')
8 =
exec('sar -u 1')
0
, int
exec('sar -u 1')
1 =
exec('sar -u 1')
0
): string|false

Thông số

exec('sar -u 1')
3

Trả về giá trị

exec('sar -u 1')
4

Trên Windows Exec () trước tiên sẽ bắt đầu cmd.exe để khởi chạy lệnh. Nếu bạn muốn bắt đầu một chương trình bên ngoài mà không bắt đầu cmd.exe sử dụng Proc_open () với tùy chọn

Tuy nhiên nó không bao giờ ra mắt SAR. Nếu tôi chỉ sử dụng:exec() will append to the end of the array. If you do not want the function to append elements, call unset() on the array before passing it to exec().
exec('sar -u 1')
7

Trên Windows Exec () trước tiên sẽ bắt đầu cmd.exe để khởi chạy lệnh. Nếu bạn muốn bắt đầu một chương trình bên ngoài mà không bắt đầu cmd.exe sử dụng Proc_open () với tùy chọn

Tuy nhiên nó không bao giờ ra mắt SAR. Nếu tôi chỉ sử dụng:

Trả về giá trị

Trên Windows Exec () trước tiên sẽ bắt đầu cmd.exe để khởi chạy lệnh. Nếu bạn muốn bắt đầu một chương trình bên ngoài mà không bắt đầu cmd.exe sử dụng Proc_open () với tùy chọn passthru() function.

Tuy nhiên nó không bao giờ ra mắt SAR. Nếu tôi chỉ sử dụng:

Nó hoạt động nhưng nó chỉ treo tập lệnh PHP. Tôi hiểu rằng nếu một chương trình được bắt đầu với chức năng EXEC, để nó tiếp tục chạy ở chế độ nền, đầu ra của chương trình phải được chuyển hướng đến tệp hoặc luồng đầu ra khác.
 /dev/null 2>/dev/null &');
0
on failure.

Đã hỏi ngày 6 tháng 7 năm 2015 lúc 20:07Jul 6, 2015 at 20:07

exec('sar -u 1')
4.

Tôi sẽ giả sử bạn chạy điều này trên nền tảng *nix. Để có được PHP để chạy một cái gì đó trong nền và không chờ đợi quá trình kết thúc, tôi sẽ giới thiệu 2 điều: đầu tiên sử dụng exec('sar -u 1') 2 và cũng chuyển hướng đầu ra của lệnh thành exec('sar -u 1') 3 (thùng rác).

Nohup có nghĩa là chúng tôi không gửi tín hiệu "treo" (giết chết quá trình) khi thiết bị đầu cuối chạy lệnh đóng. means we do not send the "hang up" signal (which kills the process) when the terminal running the command closes.exec() example

 /dev/null 2>/dev/null &');
2

exec('sar -u 1')
4 chuyển hướng đầu ra "bình thường" và "lỗi" đến vị trí blackhole
exec('sar -u 1')
3. Điều này cho phép PHP không phải chờ các đầu ra của lệnh được gọi. redirects the "normal" and "error" outputs to the blackhole
exec('sar -u 1')
3 location. This allows PHP to not have to wait for the outputs of the command being called.

 /dev/null 2>/dev/null &');
0

Một lưu ý khác, nếu bạn đang sử dụng PHP chỉ để gọi lệnh shell, bạn có thể muốn xem xét các tùy chọn khác như Ubuntu Upstart mà không có thành phần PHP-nếu bạn đang sử dụng Ubuntu.

Đã trả lời ngày 6 tháng 7 năm 2015 lúc 20:20Jul 6, 2015 at 20:20

DJ Sipedj SipeDJ Sipeescapeshellarg() or escapeshellcmd() to ensure that users cannot trick the system into executing arbitrary commands.

1.11612 Huy hiệu bạc12 Huy hiệu đồng12 silver badges12 bronze badges:

(Php 4, Php 5, Php 7, Php 8)

1.11612 Huy hiệu bạc12 Huy hiệu đồng12 silver badges12 bronze badges:

(Php 4, Php 5, Php 7, Php 8)exec() will first start cmd.exe to launch the command. If you want to start an external program without starting cmd.exe use proc_open() with the

EXEC - Thực hiện một chương trình bên ngoài — Execute an external program

Trên Windows Exec () trước tiên sẽ bắt đầu cmd.exe để khởi chạy lệnh. Nếu bạn muốn bắt đầu một chương trình bên ngoài mà không bắt đầu cmd.exe sử dụng Proc_open () với tùy chọn

  • Xem thêm
  • System () - Thực hiện chương trình bên ngoài và hiển thị đầu ra
  • passthru () - thực hiện một chương trình bên ngoài và hiển thị đầu ra thô
  • Escapeshellcmd () - Escape Shell Metacharacters
  • pcntl_exec () - thực thi chương trình được chỉ định trong không gian quy trình hiện tại

toán tử backtick ¶

Arno van den Brink ¶

 /dev/null 2>/dev/null &');
4
 /dev/null 2>/dev/null &');
5
 /dev/null 2>/dev/null &');
6

13 năm trước ¶

Arno van den Brink ¶

 /dev/null 2>/dev/null &');
7
 /dev/null 2>/dev/null &');
8

13 năm trước ¶

 /dev/null 2>/dev/null &');
00
 /dev/null 2>/dev/null &');
01
 /dev/null 2>/dev/null &');
02
 /dev/null 2>/dev/null &');
03

13 năm trước

exec('sar -u 1')
199

 /dev/null 2>/dev/null &');
04
 /dev/null 2>/dev/null &');
05
 /dev/null 2>/dev/null &');
06
 /dev/null 2>/dev/null &');
07
 /dev/null 2>/dev/null &');
6

dell_petter tại hotmail dot com ¶

Simon ¶ ¶

 /dev/null 2>/dev/null &');
09

exec('sar -u 1')
20

exec('sar -u 1')
21

 /dev/null 2>/dev/null &');
6

7 năm trước

Krjdev tại gmail dot com ¶ ¶

exec('sar -u 1')
23

exec('sar -u 1')
24

exec('sar -u 1')
25

 /dev/null 2>/dev/null &');
6

11 thàng trước

msheakoski @t yahoo [email & nbsp; được bảo vệ] com ¶ ¶

exec('sar -u 1')
27

18 năm trước

IVK ¶ ¶

exec('sar -u 1')
28

exec('sar -u 1')
29

exec('sar -u 1')
30

 /dev/null 2>/dev/null &');
6

1 năm trước

Farhad Malekpour ¶ ¶

exec('sar -u 1')
32

exec('sar -u 1')
33

exec('sar -u 1')
34

exec('sar -u 1')
35

exec('sar -u 1')
36

 /dev/null 2>/dev/null &');
6

15 năm trước

Paul Sommer ¶ ¶

exec('sar -u 1')
38

exec('sar -u 1')
39

 /dev/null 2>/dev/null &');
6

6 năm trước

Bob-php tại Hamsterrepublic dot com ¶

exec('sar -u 1')
41

exec('sar -u 1')
42

exec('sar -u 1')
43

exec('sar -u 1')
44

exec('sar -u 1')
45

 /dev/null 2>/dev/null &');
6

16 năm trước

Hans at internit dot no_spam dot com ¶ ¶

exec('sar -u 1')
47

exec('sar -u 1')
48

exec('sar -u 1')
49

exec('sar -u 1')
30

 /dev/null 2>/dev/null &');
6

20 năm trước

Layton tại Layton Dot TK ¶ ¶

exec('sar -u 1')
32

exec('sar -u 1')
33

exec('sar -u 1')
34

exec('sar -u 1')
35

17 năm trước

Elwiz ở 3E DOT PL ¶ ¶

exec('sar -u 1')
36

exec('sar -u 1')
37

exec('sar -u 1')
38

exec('sar -u 1')
39

exec('sar -u 1')
70

exec('sar -u 1')
71

 /dev/null 2>/dev/null &');
6

12 năm trước

Php dot reg tại kjpetrie dot co dot uk ¶ ¶

exec('sar -u 1')
73

exec('sar -u 1')
74

 /dev/null 2>/dev/null &');
6

1 tháng trước

Alvaro tại demogracia dot com ¶

11 năm trước

exec('sar -u 1')
77

exec('sar -u 1')
78

exec('sar -u 1')
79

exec('sar -u 1')
80

exec('sar -u 1')
81

exec('sar -u 1')
82

exec('sar -u 1')
83

 /dev/null 2>/dev/null &');
6

exec('sar -u 1')
76

Hypolite Petovan ¶ ¶

exec('sar -u 1')
85

exec('sar -u 1')
86

 /dev/null 2>/dev/null &');
6

2 năm trước

Alvaro tại demogracia dot com ¶

exec('sar -u 1')
88

exec('sar -u 1')
89

exec('sar -u 1')
00
exec('sar -u 1')
01
exec('sar -u 1')
02
exec('sar -u 1')
03
 /dev/null 2>/dev/null &');
6

11 năm trước

exec('sar -u 1')
76

Hypolite Petovan ¶ ¶

2 năm trước

2 năm trước

Martin Lakes ¶ ¶

exec('sar -u 1')
09
exec('sar -u 1')
10
exec('sar -u 1')
11
exec('sar -u 1')
12
 /dev/null 2>/dev/null &');
6