LoginSignup
118
110

More than 1 year has passed since last update.

ssh先でクソ長いビルドを走らせてしまったのにもう寝たい時にすること

Last updated at Posted at 2021-11-23

状況

sshしたラズパイとか結構非力なマシンにsshしてあれこれビルドしようかなーと思って始めたmakemake installとかが終わらなくて泣きたいときにするワークアラウンド。

方法

アプローチとしては実行中のコマンドのバックグラウンド化と非所有化(?)。

下準備(というか前提)

実行したいコマンド群はあらかじめシェルスクリプトに書いておき、実行するようにしましょう。
;で区切って1行にまとめたコマンドはそれぞれが別のジョブになってしまうためです。

tmuxやscreen使え (2021/12/3追記)

ご指摘ありがとうございます。そうですね。tmuxなどを使うととても良いのですが、お恥ずかしながら使った事がありませんでした。勉強になります。
これらツールの使い方は本題では無いため各自ググって使って下さい。

手順

1. クソ長いジョブの走っているターミナルで Ctrl + Zをし、ジョブ(コマンド)を停止させる。

[1]+  Stopped                 make

2. jobsでジョブを確認、bg コマンドでバックグラウンドで再開させる。

root@ubuntu:~# jobs
[1]-  Stopped                 make
root@ubuntu:~# bg 1
[1]- make &

3. jobsで走っていることを確認。

root@ubuntu:~/repos/snort_src/ragel-6.10# jobs
[1]-  Running                 make &

4. disownで手放す。

root@ubuntu:~# disown -h %1
root@ubuntu:~# jobs
[1]-  Running                 make &
root@ubuntu:~# logout
Connection to xxx.xxx.xxx.xxx closed.

おしまい。走っているジョブのPPID(親PID)は1になります。

118
110
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
118
110