Windows kabuğundaki (foo &> / dev / null &) eşdeğeri


3

Belirli bir uygulamayı çalıştırmak istiyorum (haydi arayalım foo ) komut satırından terminali tutmasını, terminalde çıkış veya hata akışlarından herhangi bir hurda bırakmasını istemem ve ayrıca terminali kapatsam bile çalışmaya devam etmesini istemiyorum. Bash’te bunu kullanarak yapabilirim. (foo &>/dev/null &), ancak bunu Windows kabuğunda nasıl yapacağımı bilmiyorum. Biri bana yardım edebilir mi?

Yanıtlar:


5

Bunu Windows'ta yapma şekliniz:

start /B foo > NUL 2>&1

start komutu, ayrı bir işlemi başlatacak &. /B seçenek engeller start Çalıştırdığınız program bir konsol uygulamasıysa (GUI uygulamaları için gerekli değildir) yeni bir terminal penceresi açmaktan. > Linux ile aynı anlama sahiptir ve NUL Windows’un eşdeğeri /dev/null. 2>&1 de son stderr'i stdout'a yönlendirir, ki hepsi gidecektir NUL.


@KozRoss - Bu gerçekten konsol uygulaması foo'nun terminali tutmasını önler (konsol penceresi). Ancak terminal (konsol penceresi) kapalıyken foo'nun devam etmediğini düşünüyorum. Pencereyi kapatmanın içinde çalışan tüm konsol uygulamalarını sonlandırdığına inanıyorum. Foo'nun toplu bir komut dosyası olması durumunda, deneylere dayanarak bunun doğru olduğunu biliyorum. Bir exe veya CScript test etmedim.
dbenham

0

Doğrudan bir eşdeğer yoktur.

Tarif edildiği gibi İşte , bir programı arayarak arayanın engellenmeyeceği şekilde arama yapılabilir. start komutunu kullanarak /b seçeneği. Yine de bu durumda çıkış yönlendirmesi hakkında Dunno. Bir toplu iş dosyasına sarmanız gerekebilir.

Gelince > /dev/null, bu kolay: >NUL. NUL bir DOS aygıtı adıdır. Bununla birlikte, stenografi operatörü mevcut değildir. Manuel yoldan gitmelisin 2>&1. İşte Bununla ilgili biraz daha bilgi var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.