Dapatkan id proses aplikasi, yang disebut layanan

0

Saya memiliki layanan di automator, yang diikat ke Safari, tidak ada opsi input.

Sekarang apakah ada cara untuk layanan di automator untuk mendapatkan proses id dari Safari, yang menyebutnya?

Baru mengenal applescript dan automator. Terima kasih atas masukannya.

Semut
sumber
Saya mengajukan pertanyaan yang hampir sama dan memberikan jawaban saya di sini . Jika Anda menjalankan 10.6.8 mungkin itu yang Anda butuhkan.
Vic

Jawaban:

1

Saat Anda meluncurkan layanan dari Safari, aplikasi akan menjadi yang ada di latar depan.

Anda dapat menggunakan Applescript ini dalam aksi " Run AppleScript".

tell application "System Events"
    set x to first process whose its frontmost is true and name is "Safari"
    return unix id of x
end tell
jackjr300
sumber
Terima kasih. Tetapi bagaimana jika banyak Safari berjalan? Jadi, itulah pertanyaan saya untuk mendapatkan proses id Safari (banyak safari akan berjalan) yang disebut layanan?
Semut
OK, saya memperbarui jawaban saya
jackjr300
Terima kasih. Berhasil. Tetapi masalahnya adalah safari didorong oleh skrip, jadi itu tidak wajib bahwa itu harus di latar depan. Ada yang tahu bagaimana cara mendapatkan pid sekarang? Tanpa hal-hal latar depan?
Semut
Tanpa hal-hal latar depan, itu mungkin tetapi sangat rumit. Tempat terbaik dalam skrip yang meluncurkan Safari. Tetapi karena saya tidak memiliki rincian tentang keseluruhan proses, tidak mungkin untuk memberikan jawaban yang benar.
jackjr300
Java meluncurkan safari. Pada dasarnya ini adalah suite Selenium. Tidak ada cara di Selenium java untuk mendapatkan pid. Itulah kekhawatiran saya. Tanpa hal-hal latar depan, dapatkah Anda mengatakan kepada saya bagaimana hal-hal dapat dilakukan?
Semut