L'exécution de matlab en arrière-plan
Je suis en cours d'exécution matlab sur 48 machines virtuelles et souhaitez automatiser. Je ssh sur les machines alors utiliser matlab -r matlab_command > outfile.txt &
pour obtenir l'exécution du processus en arrière-plan et l'exécuter correctement lorsque je déconnexion. Le seul problème est que lorsque je jobs
mon processus est arrêté et ne démarre pas jusqu'à ce que je fg
^z bg
. Est-il un matlab drapeau pour que je puisse l'exécuter en arrière-plan sans avoir à l'arrêter?
Grâce,
Mike
Pour les précisions c'est l'ordre des commandes qui ne fonctionnent pas
ssh server
matlab -r matlab_command > outfile.txt &
jobs
[1] Arrêté
Pour résoudre ce problème que je
fg
^z
bg
logout
et il fonctionne maintenant
matlab -r matlab_command > outfile.txt < /dev/null &
?Merci, cela a fait exactement ce que je voulais
OriginalL'auteur msandbot | 2010-06-08
Vous devez vous connecter pour publier un commentaire.
Utilisation nohup commande UNIX pour éviter MATLAB arrêtez-vous lorsque vous se déconnecter.
Et n'oubliez pas d'inclure
exit;
à la fin de matlab_command script.Mise à JOUR:
D'essayer cette solution: Est-il possible de MATLAB dans le fond sous UNIX?
Il y a une explication ici.
Matlab ne s'arrête pas à me déconnecter, mais elle ne commence réellement jusqu'à ce qu'il a été au premier plan au moins une fois
OriginalL'auteur yuk
Le réel propre solution à votre problème est d'utiliser GNU Écran.
Ensuite, vous ne perdrez pas vos Matlab session et vous pouvez toujours revenir dans l'Matlab invite. Très utile si quelqu'un n'allait pas avec votre code Matlab et vous avez besoin de déboguer un peu.
Juste tirer '
screen
' (une fois le paquet installé, inclus dans toutes les distributions majeures). Vous aurez une invite standard, mais à l'intérieur d'un persistant, le terminal virtuel. Commencez votre matlab comme d'habitude, omettre toute la semi-finition. Ensuite, appuyez sur CTRL+A, D (première CTRL+A puis d). Vous serez hors de l'écran. Vous pouvez vous déconnecter. Si vous souhaitez revenir à votre écran session, exécutezscreen -r
. Si vous le souhaitez, vous pouvez également lancer directementscreen matlab [...]
en premier lieu. Il aura pour effet que votre session virtuelle est également supprimées lorsque matlab se ferme.screen
peut être! +1Je ne veux pas avoir à faire tout comme cette ctrl d vous parler de. Je suis en train de faire un script à exécuter matlab sur 144 matlabs sur 144 différentes VM. Je ne veux pas avoir à commencer à chacun par la main.
Ensuite l'écran est encore approprié pour vous, comme vous pouvez le démarrer tout comme le nohup cas. Ce que vous pouvez faire est d'utiliser un écran qui engendre 144 locale des séances d'une session écran peut contenir plusieurs sessions de terminal virtuel]. Dans chaque session, puis vous connecter automatiquement à un ordinateur virtuel et exécutez matlab. Alors vous ne pouvez pas vous déconnecter et vous pouvez facilement surveiller toutes les sessions en passant par votre un écran session. Pour ne pas dire que vous devez faire, c'est juste une autre option pour votre cas d'utilisation. Être en mesure de surveiller les sons vital pour moi--avec le nombre de sessions, il y aura certains qui ne.
OriginalL'auteur ypnos
J'ai eu du mal avec l'écran: matlab a commencé, mais n'avaient aucune notion de ce qui avait été passé par l'entrée standard. Il a tout simplement ignoré.
Mais j'ai réussi à tmux. Voici la ligne de commande que j'ai utilisé,
Vous pouvez ensuite faire un ssh sur l'hôte distant (indiqué ici par le préfixe
remote$
) et vérifier les choses par l'émission d'remote$ tmux a -t matlab
. De vous détacher de votre ordinateur hôte à distance en appuyant surCtrl-b d
. Vous liste des sessions avecremote$ tmux ls
(comme l'écran). Vous tuez la session à partir de l'intérieur avecCtrl-b &
et de l'extérieur avec$remote tmux kill-session -t matlab
.Mais j'ai découvert que vous pouvez également joindre à votre session tmux à partir de l'hôte local, directement:
Avis, j'ai dû utiliser
-t
ici à la place de-f
.OriginalL'auteur meteore
Je suis l'aide de cette solution, qui fournit un mannequin norme en:
OriginalL'auteur MRule
Si vous utilisez fichier:
nohup matlab -nodesktop -nodisplay < file.m > result.txt &
Vous pourriez avoir besoin d'appuyer sur entrée après l'exécution de cette.
OriginalL'auteur Tamaki Sakura
J'ai trouvé quelques liens utiles Conseils pour l'Exécution de Gros Calculs et nohup
peut-être que cela peut résoudre votre problème.
OriginalL'auteur Olarik Surinta