RunUtil
public class RunUtil
extends Object
implements IRunUtil
java.lang.Objek | |
↳ | com.android.tradefed.util.RunUtil |
Kumpulan metode pembantu untuk menjalankan operasi.
Ringkasan
Bidang | |
---|---|
public static final String | INHERITIO_PREFIX |
public static final String | RUNNABLE_NOTIFIER_NAME
|
Konstruktor publik | |
---|---|
RunUtil () Buat objek |
Metode publik | |
---|---|
void | allowInterrupt (boolean allow) Mengizinkan/melarang menjalankan interupsi pada utas saat ini. |
static IRunUtil | getDefault () Dapatkan referensi ke objek |
void | interrupt (Thread thread, String message, ErrorIdentifier errorId) Mengganggu operasi yang sedang berlangsung/akan datang pada utas yang diberikan. |
void | interrupt (Thread thread, String message) Mengganggu operasi yang sedang berlangsung/akan datang pada utas yang diberikan. |
boolean | isInterruptAllowed () Berikan status interupsi dari RunUtil. |
Process | runCmdInBackground (Redirect redirect, command) runCmdInBackground (Redirect redirect, command) Metode |
Process | runCmdInBackground ( command) runCmdInBackground ( command) Metode |
Process | runCmdInBackground ( command, OutputStream output) runCmdInBackground ( command, OutputStream output) Menjalankan perintah dengan |
Process | runCmdInBackground (String... command) Metode pembantu untuk menjalankan perintah sistem secara asinkron. |
Process | runCmdInBackground (Redirect redirect, String... command) Metode pembantu untuk menjalankan perintah sistem secara asinkron. |
boolean | runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blokir dan jalankan operasi beberapa kali hingga berhasil. |
boolean | runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable) Blokir dan jalankan operasi beberapa kali hingga berhasil. |
CommandStatus | runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors) Blokir dan jalankan operasi, batalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. |
CommandResult | runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command) Metode pembantu untuk menjalankan perintah sistem, batalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan, dan arahkan output ke file jika ditentukan. |
CommandResult | runTimedCmd (long timeout, String... command) Metode pembantu untuk menjalankan perintah sistem, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. |
CommandResult | runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command) Metode pembantu untuk menjalankan perintah sistem, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. |
CommandResult | runTimedCmdSilently (long timeout, String... command) Metode pembantu untuk menjalankan perintah sistem, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. |
CommandResult | runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command) Metode pembantu untuk menjalankan perintah sistem, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. |
CommandResult | runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command) Metode pembantu untuk menjalankan perintah sistem, batalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan, dan arahkan output ke file jika ditentukan. |
CommandResult | runTimedCmdWithInput (long timeout, String input, String... command) Metode helper untuk menjalankan perintah sistem yang membutuhkan input stdin, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. |
CommandResult | runTimedCmdWithInput (long timeout, String input, command) runTimedCmdWithInput (long timeout, String input, command) Metode helper untuk menjalankan perintah sistem yang membutuhkan input stdin, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. |
CommandResult | runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command) Metode pembantu untuk menjalankan perintah sistem yang memerlukan pengalihan Stdin dari file, dan batalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. |
boolean | runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable) Blokir dan jalankan operasi beberapa kali hingga berhasil. |
void | setEnvVariable (String name, String value) Menetapkan variabel lingkungan yang akan digunakan saat menjalankan perintah sistem. |
void | setEnvVariablePriority ( IRunUtil.EnvPriority priority) Putuskan apakah saat membuat proses atau tidak, menghapus variabel lingkungan lebih diprioritaskan daripada menyetelnya. |
void | setInterruptibleInFuture (Thread thread, long timeMs) Ditetapkan sebagai dapat diinterupsi setelah beberapa waktu menunggu. |
void | setLinuxInterruptProcess (boolean interrupt) Izinkan untuk menggunakan interupsi 'bunuh' linux pada proses yang berjalan melalui metode #runTimed saat mencapai batas waktu. |
void | setRedirectStderrToStdout (boolean redirect) Setel aliran kesalahan standar untuk mengalihkan ke aliran keluaran standar saat menjalankan perintah sistem. |
void | setWorkingDir (File dir) Menetapkan direktori kerja untuk perintah sistem. |
void | sleep (long time) Metode pembantu untuk tidur untuk waktu tertentu, mengabaikan pengecualian apa pun. |
void | unsetEnvVariable (String key) Menghapus variabel lingkungan, sehingga perintah sistem berjalan tanpa variabel lingkungan ini. Variabel lingkungan mungkin mewarisi dari proses induk, jadi kita perlu menghapus variabel lingkungan dari |
Bidang
INHERITIO_PREFIX
public static final String INHERITIO_PREFIX
RUNNABLE_NOTIFIER_NAME
public static final String RUNNABLE_NOTIFIER_NAME
Konstruktor publik
Metode publik
izinkan Interupsi
public void allowInterrupt (boolean allow)
Mengizinkan/melarang menjalankan interupsi pada utas saat ini. Jika diizinkan, operasi yang dijalankan dari utas saat ini dapat diinterupsi dari utas lainnya melalui metode interrupt(Thread, String)
.
Parameter | |
---|---|
allow | boolean : apakah mengizinkan menjalankan interupsi pada utas saat ini. |
getDefault
public static IRunUtil getDefault ()
Dapatkan referensi ke objek RunUtil
default.
setEnvVariable(String, String)
atau setWorkingDir(File)
membuat salinannya sendiri.Pengembalian | |
---|---|
IRunUtil |
mengganggu
public void interrupt (Thread thread, String message, ErrorIdentifier errorId)
Mengganggu operasi yang sedang berlangsung/akan datang pada utas yang diberikan. Operasi jalankan pada utas yang diberikan akan membuang RunInterruptedException
.
Parameter | |
---|---|
message | String : pesan untuk RunInterruptedException . |
errorId | ErrorIdentifier : Mewakili penyebab gangguan saat diketahui. |
mengganggu
public void interrupt (Thread thread, String message)
Mengganggu operasi yang sedang berlangsung/akan datang pada utas yang diberikan. Operasi jalankan pada utas yang diberikan akan membuang RunInterruptedException
.
Parameter | |
---|---|
message | String : pesan untuk RunInterruptedException . |
isInterruptAllowed
public boolean isInterruptAllowed ()
Berikan status interupsi dari RunUtil.
Pengembalian | |
---|---|
boolean | true jika Run dapat diinterupsi, false jika sebaliknya. |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect,command)
Metode runCmdInBackground(String)
alternatif yang menerima argumen perintah dalam bentuk ERROR(/List)
.
Parameter | |
---|---|
redirect | Redirect : ERROR(/Redirect) untuk diterapkan ke ProcessBuilder . |
command | ERROR(/List) yang berisi perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
Process | Process dari perintah yang dieksekusi |
runCmdInBackground
public Process runCmdInBackground (command)
Metode runCmdInBackground(String)
alternatif yang menerima argumen perintah dalam bentuk ERROR(/List)
.
Parameter | |
---|---|
command | ERROR(/List) yang berisi perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
Process | Process dari perintah yang dieksekusi |
runCmdInBackground
public Process runCmdInBackground (command, OutputStream output)
Menjalankan perintah dengan ERROR(/OutputStream)
mencatat keluaran dari perintah. Stdout dan stderr digabungkan menjadi satu.
Parameter | |
---|---|
command | |
output | OutputStream : OutputStream untuk menyimpan output |
Pengembalian | |
---|---|
Process | Process menjalankan perintah |
runCmdInBackground
public Process runCmdInBackground (String... command)
Metode pembantu untuk menjalankan perintah sistem secara asinkron.
Akan kembali segera setelah meluncurkan perintah.
Parameter | |
---|---|
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
Process | Process dari perintah yang dieksekusi |
runCmdInBackground
public Process runCmdInBackground (Redirect redirect, String... command)
Metode pembantu untuk menjalankan perintah sistem secara asinkron.
Akan kembali segera setelah meluncurkan perintah.
Parameter | |
---|---|
redirect | Redirect : ERROR(/Redirect) untuk diterapkan ke ProcessBuilder . |
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
Process | Process dari perintah yang dieksekusi |
runEscalatingTimedRetry
public boolean runEscalatingTimedRetry (long opTimeout, long initialPollInterval, long maxPollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokir dan jalankan operasi beberapa kali hingga berhasil.
Secara eksponensial meningkatkan waktu tunggu antara upaya operasi. Ini dimaksudkan untuk digunakan saat melakukan operasi seperti polling server, untuk memberikan waktu pemulihan jika server sedang down untuk sementara.Parameter | |
---|---|
opTimeout | long : waktu maksimum untuk menunggu dalam ms untuk upaya operasi tunggal |
initialPollInterval | long : waktu awal untuk menunggu di antara upaya operasi |
maxPollInterval | long : waktu maksimal untuk menunggu di antara upaya operasi |
maxTime | long : total perkiraan waktu maksimum untuk terus mencoba operasi |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult untuk dieksekusi |
Pengembalian | |
---|---|
boolean | true jika operasi selesai dengan sukses sebelum maxTime kedaluwarsa |
runFixedTimedRetry
public boolean runFixedTimedRetry (long opTimeout, long pollInterval, long maxTime, IRunUtil.IRunnableResult runnable)
Blokir dan jalankan operasi beberapa kali hingga berhasil.
Parameter | |
---|---|
opTimeout | long : waktu maksimum untuk menunggu dalam ms untuk upaya operasi tunggal |
pollInterval | long : waktu awal untuk menunggu di antara upaya operasi |
maxTime | long : total perkiraan waktu maksimum untuk terus mencoba operasi |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult untuk dieksekusi |
Pengembalian | |
---|---|
boolean | true jika operasi selesai dengan sukses sebelum maxTime kedaluwarsa |
runTimed
public CommandStatus runTimed (long timeout, IRunUtil.IRunnableResult runnable, boolean logErrors)
Blokir dan jalankan operasi, batalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan.
Parameter | |
---|---|
timeout | long : waktu maksimum untuk menunggu dalam ms |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult untuk dieksekusi |
logErrors | boolean : mencatat kesalahan pada pengecualian atau tidak. |
Pengembalian | |
---|---|
CommandStatus | hasil operasi CommandStatus . |
runTimedCmd
public CommandResult runTimedCmd (long timeout, OutputStream stdout, OutputStream stderr, String... command)
Metode pembantu untuk menjalankan perintah sistem, batalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan, dan arahkan output ke file jika ditentukan. Ketika ERROR(/OutputStream)
disediakan dengan cara ini, mereka akan dibiarkan terbuka di akhir fungsi.
Parameter | |
---|---|
timeout | long : batas waktu waktu maksimum untuk menunggu dalam ms. 0 berarti tidak ada batas waktu. |
stdout | OutputStream : ERROR(/OutputStream) di mana output std akan dialihkan. Bisa nol. |
stderr | OutputStream : ERROR(/OutputStream) tempat keluaran kesalahan akan dialihkan. Bisa nol. |
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
CommandResult | sebuah CommandResult yang berisi hasil dari menjalankan perintah |
runTimedCmd
public CommandResult runTimedCmd (long timeout, String... command)
Metode pembantu untuk menjalankan perintah sistem, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan.
Parameter | |
---|---|
timeout | long : waktu maksimum untuk menunggu dalam ms. 0 berarti tidak ada batas waktu. |
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
CommandResult | sebuah CommandResult yang berisi hasil dari menjalankan perintah |
runTimedCmdRetry
public CommandResult runTimedCmdRetry (long timeout, long retryInterval, int attempts, String... command)
Metode pembantu untuk menjalankan perintah sistem, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan.
Parameter | |
---|---|
timeout | long : waktu tunggu maksimum dalam ms untuk setiap upaya |
retryInterval | long : waktu untuk menunggu antara percobaan ulang perintah |
attempts | int : jumlah maksimum percobaan untuk dicoba |
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
CommandResult | sebuah CommandResult yang berisi hasil dari menjalankan perintah |
runTimedCmdDiam-diam
public CommandResult runTimedCmdSilently (long timeout, String... command)
Metode pembantu untuk menjalankan perintah sistem, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. Mirip dengan runTimedCmd(long, String)
, tetapi tidak mencatat kesalahan apa pun kecuali.
Parameter | |
---|---|
timeout | long : waktu maksimum untuk menunggu dalam ms |
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
CommandResult | sebuah CommandResult yang berisi hasil dari menjalankan perintah |
runTimedCmdSilentlyRetry
public CommandResult runTimedCmdSilentlyRetry (long timeout, long retryInterval, int attempts, String... command)
Metode pembantu untuk menjalankan perintah sistem, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan. Mirip dengan runTimedCmdRetry(long, long, int, String[])
, tetapi tidak mencatat kesalahan apa pun pada pengecualian.
Parameter | |
---|---|
timeout | long : waktu maksimum untuk menunggu dalam ms |
retryInterval | long : waktu untuk menunggu antara percobaan ulang perintah |
attempts | int : jumlah maksimum percobaan untuk dicoba |
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
CommandResult | sebuah CommandResult yang berisi hasil dari menjalankan perintah |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, File stdoutFile, File stderrFile, String... command)
Metode pembantu untuk menjalankan perintah sistem, batalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan, dan arahkan output ke file jika ditentukan.
Parameter | |
---|---|
timeout | long : batas waktu waktu maksimum untuk menunggu dalam ms. 0 berarti tidak ada batas waktu. |
input | String : input stdin untuk diteruskan ke proses |
stdoutFile | File : ERROR(/File) tempat output std akan dialihkan. Bisa nol. |
stderrFile | File : ERROR(/File) tempat keluaran kesalahan akan dialihkan. Bisa nol. |
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
CommandResult | sebuah CommandResult yang berisi hasil dari menjalankan perintah |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input, String... command)
Metode helper untuk menjalankan perintah sistem yang membutuhkan input stdin, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan.
Parameter | |
---|---|
timeout | long : waktu maksimum untuk menunggu dalam ms |
input | String : input stdin untuk diteruskan ke proses |
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
CommandResult | sebuah CommandResult yang berisi hasil dari menjalankan perintah |
runTimedCmdWithInput
public CommandResult runTimedCmdWithInput (long timeout, String input,command)
Metode helper untuk menjalankan perintah sistem yang membutuhkan input stdin, dan membatalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan.
Parameter | |
---|---|
timeout | long : waktu maksimum untuk menunggu dalam ms |
input | String : input stdin untuk diteruskan ke proses |
command | ERROR(/List) berisi perintah sistem dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
CommandResult | sebuah CommandResult yang berisi hasil dari menjalankan perintah |
runTimedCmdWithInputRedirect
public CommandResult runTimedCmdWithInputRedirect (long timeout, File inputRedirect, String... command)
Metode pembantu untuk menjalankan perintah sistem yang memerlukan pengalihan Stdin dari file, dan batalkan jika membutuhkan waktu lebih lama dari waktu yang ditentukan.
Parameter | |
---|---|
timeout | long : waktu maksimum untuk menunggu dalam ms |
inputRedirect | File : ERROR(/File) untuk dialihkan sebagai input standar menggunakan ProcessBuilder.redirectInput() . Jika null, stdin tidak akan dialihkan. |
command | String : perintah sistem yang ditentukan dan secara opsional argumen untuk dieksekusi |
Pengembalian | |
---|---|
CommandResult | sebuah CommandResult yang berisi hasil dari menjalankan perintah |
runTimedRetry
public boolean runTimedRetry (long opTimeout, long pollInterval, int attempts, IRunUtil.IRunnableResult runnable)
Blokir dan jalankan operasi beberapa kali hingga berhasil.
Parameter | |
---|---|
opTimeout | long : waktu maksimum untuk menunggu dalam ms untuk satu upaya operasi |
pollInterval | long : waktu untuk menunggu antara percobaan ulang perintah |
attempts | int : jumlah maksimum percobaan untuk dicoba |
runnable | IRunUtil.IRunnableResult : IRunUtil.IRunnableResult untuk dieksekusi |
Pengembalian | |
---|---|
boolean | true jika operasi selesai dengan sukses sebelum upaya tercapai. |
setEnvVariable
public void setEnvVariable (String name, String value)
Menetapkan variabel lingkungan yang akan digunakan saat menjalankan perintah sistem.
Parameter | |
---|---|
name | String : nama variabel |
value | String : nilai variabel |
setEnvVariablePriority
public void setEnvVariablePriority (IRunUtil.EnvPriority priority)
Putuskan apakah saat membuat proses atau tidak, menghapus variabel lingkungan adalah prioritas yang lebih tinggi daripada menyetelnya. Secara Default, unsetting adalah prioritas yang lebih tinggi: artinya jika upaya untuk mengatur variabel dengan nama yang sama dibuat, itu tidak akan terjadi karena variabel akan di-unset. Tidak dapat digunakan pada instance IRunUtil
default.
Parameter | |
---|---|
priority | IRunUtil.EnvPriority |
setInterruptibleInFuture
public void setInterruptibleInFuture (Thread thread, long timeMs)
Ditetapkan sebagai dapat diinterupsi setelah beberapa waktu menunggu. ERROR(/CommandScheduler#shutdownHard())
untuk menegakkan akhirnya kami hentikan.
Parameter | |
---|---|
thread | Thread : utas yang akan terputus. |
timeMs | long : waktu untuk menunggu sebelum mengatur interruptible. |
setLinuxInterruptProcess
public void setLinuxInterruptProcess (boolean interrupt)
Izinkan untuk menggunakan interupsi 'bunuh' linux pada proses yang berjalan melalui metode #runTimed saat mencapai batas waktu. Tidak dapat digunakan pada instance IRunUtil
default.
Parameter | |
---|---|
interrupt | boolean |
setRedirectStderrToStdout
public void setRedirectStderrToStdout (boolean redirect)
Setel aliran kesalahan standar untuk mengalihkan ke aliran keluaran standar saat menjalankan perintah sistem. Nilai awal salah.
Parameter | |
---|---|
redirect | boolean : nilai baru untuk mengarahkan ulang atau tidak |
setWorkingDir
public void setWorkingDir (File dir)
Menetapkan direktori kerja untuk perintah sistem.
Parameter | |
---|---|
dir | File : direktori kerja |
tidur
public void sleep (long time)
Metode pembantu untuk tidur untuk waktu tertentu, mengabaikan pengecualian apa pun.
Parameter | |
---|---|
time | long : ms untuk tidur. nilai kurang dari atau sama dengan 0 akan diabaikan |
unsetEnvVariable
public void unsetEnvVariable (String key)
Menghapus variabel lingkungan, sehingga perintah sistem berjalan tanpa variabel lingkungan ini. Variabel lingkungan mungkin mewarisi dari proses induk, jadi kita perlu menghapus variabel lingkungan dari ProcessBuilder.environment()
Parameter | |
---|---|
key | String : nama variabel |
Lihat juga: