Membuat symlink harus melakukan trik, namun, akan lebih membantu jika kita mengetahui penyakitnya dan bukan gejalanya. Apa yang sebenarnya ingin Anda lakukan? Karena mungkin ada cara yang lebih baik
gnuix@defiant)-(08:11pm-:-06/10)--
(~)./0012
my weird program name
PID TTY TIME CMD
7805 pts/1 00:00:00 zsh
14020 pts/1 00:00:00 0012
14021 pts/1 00:00:00 ps
(gnuix@defiant)-(08:11pm-:-06/10)--
(~)ln -s 0012 weird
(gnuix@defiant)-(08:12pm-:-06/10)--
(~)./weird
my weird program name
PID TTY TIME CMD
7805 pts/1 00:00:00 zsh
14046 pts/1 00:00:00 weird
14047 pts/1 00:00:00 ps
(gnuix@defiant)-(08:12pm-:-06/10)--
(~)
Pembaruan:
Berdasarkan informasi tambahan yang Anda bisa (saya yakin ada cara yang lebih mudah tetapi saat ini tidak datang kepada saya) minta server Anda menuliskan PID mereka ke file saat startup, maka Anda bisa mematikan -9 | cat /var/run/devserver.pid tapi kemudian itu akan menjadi pertanyaan pemrograman :)
Perbarui lagi:
Anda juga bisa melakukan beberapa tipu daya shell untuk mendapatkan PID server ketika Anda meluncurkannya, di atas kepala saya, Anda dapat membuat fungsi shell yang disebut startmyserver misalnya yang akan membungkus perintah yang Anda gunakan untuk memulai server Anda tetapi juga ambil $! ke file berdasarkan nama startup - maka kita berbicara tentang skrip shell yang 'inbounds' @ ServerFault. :-)
Lihatlah https://github.com/electrum/procname . Ini memungkinkan Anda untuk mengatur nama proses dari proses apa pun menggunakan variabel anvironment.
sumber
Ini bukan milik SO karena itu generik, bukan pertanyaan khusus bahasa.
Jawaban singkatnya tidak mudah. Artinya, itu tidak dapat dilakukan dari dalam fungsi shell atau procfs / sysfs Anda. Anda perlu menggunakan utilitas eksternal untuk mencapainya.
Ada deskripsi panjang tentang bagaimana dan mengapa di sini . Waspadalah itu cukup C-sentris.
Memperbarui:
Mereka adalah python yang mengubah permainan. Tanpa sekarang menjadi terlalu SO, mungkin akan lebih mudah untuk memodifikasinya untuk menggunakan modul ini atau pendekatan serupa.
sumber